- 博客(147)
- 收藏
- 关注
原创 封装zookeeper的客户端类和在项目上的实践
本文封装了zookeeper的客户端代码,zookeeper如何应用到mprpc项目中,tcpdump抓包验证心跳机制
2024-08-10 13:09:30
514
原创 Zookeeper分布式协调服务
本文简述了,什么是zookeeper,zookeeper提供的文件系统和通知机制,作用,特性,安装,znode节点的存储格式以及什么是分布式系统,分布式系统存在的问题和解决方法
2024-08-08 14:33:50
1389
原创 mprpc框架的应用示例
有一个本地服务,我想把它发布成远程服务,首先在user.proto中定义rpc方法的描述,定义参数和响应的消息类型然后在userservice.cc文件中通过继承UserServiceRpc这个类,重写一下响应的方法(打四个动作)如下别人调用的话,在calluserservice.cc测试register。
2024-08-05 20:02:48
236
原创 重写muduo网络库中还可以扩展的部分
测试http服务、tcp服务、生成聚合报告(生成详细的报表,起了多少个线程来模拟客户端,总共压力测试多长时间,总共发送多少请求,总共响应多少请求,平均的请求时间,最大的请求耗费时间,最小的请求耗费时间,整个的请求,响应的成功率,QPS的值,都会详细列出来)在linux上,需要单独编译安装 直接创建线程组,发送的时间,压力测试的持续时间,但是只能测试http服务的性能,http服务器,支持httpAPI的性能。涉及linux上进程socketfd的设置相关,需要设置使用描述符的上限,用来支持更大的连接量。
2024-06-30 10:47:03
382
原创 Rpc服务的提供方(Rpcprovider)的调用流程
onmessage等待远程rpc的调用请求,数据过来之后,按我们协商好的数据格式解析,最终解析出service_name、method_name和方法调用参数等数据,从抽象层动态的生成method的请求(request)和响应(response),将参数填到请求中(反序列化)绑定的方法做的是将响应进行一个序列化,然后通过网络发送回去,发送回去后,我们由rpc的提供者主动关闭这条连接,省资源,给其它rpc客户端再继续提供服务。当它启动以后,这里面相当于启动了一个epoll+多线程的服务器,
2024-06-29 20:26:02
393
原创 开发RpcProvider的发布服务(NotifyService)
开发RpcProvider的发布服务(NotifyService),发布过程描述和具体代码实现
2024-06-26 12:55:20
1399
原创 mprpc框架的初始化操作
完成 MprpcApplication::Init(argc, argv);我们希望这么去写 provider -i config.conf。读取相关的网络服务器以及相关的配置中心的IP地址和端口号。我们打开userservice.cc中,查看主函数。我们在将下一节阐述mprpc框架的配置文件的加载。打开mprpcapplication.cc。这个Init函数需要用户传一个命令行参数。
2024-06-25 15:39:44
302
原创 VS Code 配置cmake(Linux环境)
右键CMake Tools右下角齿轮标志,选择扩展设置(Extension Settings)通过sudo apt install cmake在linux上安装cmake。通过命令whereis cmake获取linux中cmake的路径信息。写上这样一句话(具体路径因人而异,填写自己刚才获取到的路径信息),保存。注意要设置的是本地,还是远程连接,点击setting.json。在Vs Code中安装这两个插件。
2024-06-25 14:54:31
715
原创 重写muduo之Thread、EventLoopThread、EventLoopThreadPool
C++11重写muduo网络库中的线程部分,包括Thread、EventLoopThread、EventLoopThreadPool
2024-05-08 22:14:30
575
原创 手写muduo之CMake构建、noncopyable、Timestamp、Logger
手写开源muduo网络库中的noncopyable、Timestamp、Logger模块以及项目的CMake构建
2024-05-05 15:35:42
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人