/tinyrpc

C++项目—基于muduo网络库和protobuf的小型rpc框架

Primary LanguageC++

tinyrpc

项目说明

该项目是在 Linux 环境下基于 muduo、Protobuf 和 Zookeeper 实现的一个轻量级 RPC 框架。可以把单体架构系统的本地方法调用,重构成基于 TCP 网络通信的 RPC 远程方法调用,实现统一台机器不同进程或者不同机器之间的服务调用。

项目特点

  • 基于 muduo 网络库实现高并发网络通信模块,作为 RPC 同步调用的基础。
  • 基于 Protobuf 实现 RPC 方法调用和参数的序列化和反序列化,并根据其提供得 RPC 接口编写 RPC 服务。
  • 基于 ZooKeeper 分布式协调服务中间件提供服务注册和服务发现功能。
  • 设计了基于 TCP 传输的二进制协议,解决粘包问题,且能够高效传输服务名、方法名以及参数。

开发环境

  • 操作系统:Centos
  • 编译器:g++ 7.3.1
  • 编辑器:vscode
  • 版本控制:git
  • 项目构建:cmake 3.25.1