
RPC
文章平均质量分 72
RPC
无敌的神龙战士
我是废物
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
myRpc
文章目录集群和分布式集群单机服务器切换到集群服务器所有服务器共同构成一个聊天系统集群和分布式分布式问题RPC通信原理protobuf的使用从业务出发谈怎么使用一个框架定义protobuf,然后生成相关代码本地服务怎么发布成RPC服务框架使用MprpcApplicationRpcProvider这里使用ServiceInitprovider+channelRpcProvider的网络服务在rpc上面发布服务-map表接受一个rpc调用请求的时候,它怎么知道要调用应用程序的哪个服务对象的哪个rpc方法呢?请求的原创 2022-05-20 20:31:32 · 403 阅读 · 0 评论 -
RpcChannel
文章目录Rpc调用方(caller)callMethodRpcControl Rpc调用方(caller) stub.Login() 或者其他方法,实际上都调用的是RpcChannel::callMethod方法 集中做rpc方法调用的参数序列化和网络发送 int main(int argc, char **argv) { // 整个程序启动以后,想使用mprpc框架来享受rpc服务调用,一定需要先调用框架的初始化函数(只初始化一次) MprpcApplication::Init(argc,原创 2022-05-20 18:06:04 · 276 阅读 · 0 评论 -
RpcProvider-RpcChannel
文章目录RpcProvider的网络服务在rpc上面发布服务 RpcProvider的网络服务 启动rpc服务节点,开始提供rpc远程网络服务调用 // 读取配置文件rpcserver的信息 std::string ip = MprpcApplication::GetInstance().GetConfig().Load("rpcserverip"); uint16_t port = atoi(MprpcApplication::GetInstance().GetConfig().Load("rpcserv原创 2022-05-19 19:41:56 · 350 阅读 · 0 评论 -
从业务出发谈怎么使用一个框架
文章目录定义protobuf,然后生成相关代码本地服务怎么发布成RPC服务框架使用MprpcApplicationRpcProvider这里使用ServiceInit 定义protobuf,然后生成相关代码 syntax = "proto3"; package fixbug; option cc_generic_services = true; message ResultCode { int32 errcode = 1; bytes errmsg = 2; } message L原创 2022-05-18 22:37:20 · 151 阅读 · 0 评论 -
RPC日志系统
流程 异步写日志的日志队列 template<typename T> class LockQueue { public: // 多个worker线程都会写日志queue void Push(const T &data) { std::lock_guard<std::mutex> lock(m_mutex); m_queue.push(data); m_condvariable.notify_one()原创 2022-05-15 17:53:04 · 614 阅读 · 0 评论 -
集群和分布式
集群 参考之前写的***集群***聊天系统,做了模块化设计,每一个模块都包含很多特定的业务,如下几个缺点: 1.受限于硬件资源,聊天服务器所能承受的用户的并发量 2.任意模块的修改,都会导致整个项目代码重新编译、部署 3.系统中,有些模块属于CPU密集型的,有些模块属于I/O密集型的,造成各模块对于硬件资源的需求不一样的。 单机服务器切换到集群服务器 单机服务器 集群服务器 1.在水平方向扩建机器 ,每一台服务器都独立的运行了一台聊天服务器,解决了受限于硬件资源。 2.但重新编译、部署更加困难了。原创 2022-05-13 18:41:04 · 400 阅读 · 0 评论