mprpc
项目介绍
该项目是一个基于muduo、Protobuf和Zookeeper实现的轻量级分布式RPC网络通信框架。
可以把任何单体架构系统的本地方法调用,重构成基于TCP网络通信的RPC远程方法调用,实现同一台机器的不同进程之间的服务调用,或者不同机器之间的服务调用,适用于把单体架构系统拆分成基于分布式微服务调用进行部署。
项目地址:
github:https://github.com/IceHowe/mprpc
gitee:https://gitee.com/IceHowe/mprpc
项目特点
- 基于muduo网络库实现高并发网络通信模块,作为RPC远程调用的基础。
- 基于Protobuf实现RPC方法调用中方法和参数的序列化和反序列化,并定义网络通信中数据的传输格式(header_size(4字节长度信息) + service_name method_name args_size(header,服务名、方法名、参数长度,参数长度用于解决粘包问题) + args(RPC方法调用所需的参数))。
- 基于ZooKeeper分布式协调服务中间件提供服务注册和服务发现功能。
- 基于生产者消费者模型,设计了线程安全的缓冲队列,实现了异步工作方式的日志模块。