项目简介
本项目是一个基于Muduo网络库、Protobuf序列化工具和Zookeeper分布式协调服务的RPC框架。该框架实现了远程服务的注册、发现和调用,支持异步回调机制,并解决了网络数据粘包问题。
项目的主要特性和功能
- 远程服务注册与发现:利用Zookeeper实现RPC服务节点的注册与分发,通过Zookeeper的watcher机制动态监视节点变化,确保服务列表的实时更新。
- 异步RPC调用:基于Muduo网络库实现高效的异步RPC调用,支持回调机制,提升系统响应速度。
- 自定义RPC协议:设计自定义RPC协议,解决网络数据粘包问题,确保数据传输的可靠性。
- 序列化与反序列化:使用Protobuf实现远程调用参数的序列化和反序列化,减小请求体积,提高传输效率。
- 线程安全日志模块:自定义线程安全的队列实现日志模块,确保日志记录的线程安全性。
安装使用步骤
假设用户已经下载了本项目的源码文件,按以下步骤操作:
1. 修改配置文件:根据实际需求修改配置文件,默认配置如下:
bash
rpcServerIp=127.0.0.1
rpcServerPort=8000
zkIp=127.0.0.1
zkPort=2181
2. 执行一键编译脚本:
bash
./autobuild.sh
3. 启动Zookeeper服务:确保Zookeeper服务已启动。
4. 启动RPC服务器:
bash
./provider -i ../conf/rpcConf.conf
若无报错,则RPC服务器启动成功,等待客户端调用。
5. 启动RPC客户端调用者:
bash
./consumer -i ../conf/rpcConf.conf
若无报错,则客户端调用成功,可以进行远程服务调用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】