首页
学习
活动
专区
工具
TVP
发布

C++开源框架源码分析

分析市面上流行的c++框架源码,包括但不限于rpc、cache、mq,分享设计思路与实现方法
专栏作者
37
文章
76496
阅读量
169
订阅数
腾讯开源框架TarsCpp-rpc设计分析-client(一)
Tars是腾讯开源的微服务平台,包含了一个高性能的rpc框架和服务治理平台,TarsCpp是其C++版本。对于以C++为主要开发语言,同时还想深入了解rpc和微服务框架具体实现的同学来说,Tars是一个极佳的选择。
路小饭
2019-06-10
2.8K0
GRPC-C++源码分析(十四)--Start续
先忽略sync_requests_部分,后边再说,重点看Initialize()里的实现。这里分两部分说,第一部分说整个框架逻辑,第二部分分析具体函数调用逻辑。
路小饭
2019-04-24
1.1K0
GRPC-C++源码分析(十三)--Start续
1.1 server_start_listener 这个函数完成了epoll的创建,listen描述符的注册 grpc_server_start-3.jpg server_start_listener最终调用的是tcp_server_start 分段解释下tcp_server_start //tcp_server_posix.cc static void tcp_server_start(grpc_tcp_server* s, grpc_pollset** pollsets,
路小饭
2019-04-24
1.4K0
GRPC-C++源码分析(十二)--Start
这一节可能才是最核心的部分,包括大家理解的怎样注册listen和accept描述符,怎样处理读写事件,怎样处理业务逻辑等等。
路小饭
2019-04-23
1.1K0
GRPC-C++源码分析(十一)--bind&listen
对应于《GRPC-C++源码分析(三)--main线程》中1.5节 for (auto port = ports_.begin(); port != ports_.end(); port++) { int r = server->AddListeningPort(port->addr, port->creds.get()); if (!r) { if (added_port) server->Shutdown(); return nullptr; }
路小饭
2019-04-23
1.3K0
关注专栏作者,随时接收最新技术干货
GRPC-C++源码分析(十)--Register
对应于《GRPC-C++源码分析(三)--main线程》中1.3节和1.4节 1 grpc_server_register_completion_queue for (auto it = sync_server_cqs->begin(); it != sync_server_cqs->end(); ++it) { grpc_server_register_completion_queue(server->server_, (*it)->cq(),
路小饭
2019-04-23
1.2K0
GRPC-C++源码分析(九)--Server
对应《GRPC-C++源码分析(三)--main线程》中的1.2节 创建Server
路小饭
2019-04-22
1.4K0
GRPC-C++源码分析(七)--ServerCompletionQueue续
3.2.1 cq初始化 cq = static_cast<grpc_completion_queue*>( gpr_zalloc(sizeof(grpc_completion_queue) + vtable->data_size + poller_vtable->size())); vtable->data_size为 sizeof(cq_next_data) poller_vtable->size为 grpc_pollset_size 稍微解释下grpc_
路小饭
2019-04-22
1.2K0
GRPC-C++源码分析(五)--ServerCompletionQueue续
如果整个2.1节都没理解也没关系,记住我们有了一个grpc_event_engine_vtable* g_event_engine指针就可以了,这个指针的内容就是上面的static const grpc_event_engine_vtable vtable
路小饭
2019-04-22
1.7K0
GRPC-C++源码分析(四)--ServerCompletionQueue
对应《GRPC-C++源码分析(三)--main线程》中的1.1节 初始化ServerCompletionQueue
路小饭
2019-04-22
3.4K1
GRPC-C++源码分析(一)--网络模型
做rpc选型时候,有人说到grpc,想在网上找一些grpc c/c++的源码分析来帮助理解,发现除了官方doc里带的文档外寥寥无几(也可能是自己没找到?)。只能自己捋起袖子“啃一啃”grpc的源码。
路小饭
2019-04-18
4.1K1
muduo源码分析(二)-Protobuf RPC流程
以源代码中muduo/examples/protobuf/rpc/为例,梳理pb rpc+muduo的处理流程。
路小饭
2019-03-09
2.7K0
微信phxrpc源码分析(三)-phxrpc协程与Tars协程对比
在TarsRPC源码解读篇:使用C++重写Tars-RPC主逻辑框架的3.2节中曾聊过Tars的协程切换流程。这里再复习一下。
路小饭
2019-03-02
1.6K0
微信phxrpc源码分析(一)-网络库框架分析
phxrpc是微信后台团队推出的一个非常简洁小巧的RPC框架。前段时间看Tars rpc框架有些“审美疲劳”,拿phxrpc换换脑子。
路小饭
2019-02-28
2.1K0
ananas RPC源码分析-在net库基础上使用protobuf实现rpc(二)
第一篇文章也说到了,net库设计比较“干净”,在其基础上设计rpc框架比较方便。本节一起看下ananas怎样使用protobuf自带的rpc模板,在net库上完成一个完整的rpc框架
路小饭
2019-02-22
1.2K3
ananas RPC源码分析-net库概览(一)
ananas是一个基于promise模式和google protobuf的RPC框架,目前由C++11实现,是出于教学目的写的小巧框架。
路小饭
2019-02-15
1K0
Tars-C++ 揭秘篇:日志类源码解析
截止Tars-C++ 揭秘篇:链接管理,我们已经解析了RPC的大部分代码(promise部分以后单独再说)。可能有同学说没还看到epoll模型和协程部分的介绍啊,其实这部分在TarsRPC源码解读篇:使用C++重写Tars-RPC主逻辑框架中的第一节和第三节有所提及,所以剩下的的可能只有日志部分了
路小饭
2019-01-21
2.3K0
Tars-C++ 揭秘篇:链接管理
说完Tars-C++ 揭秘篇:TC_Buffer的妙用后,我们继续将关注点放在与收发相关的链接管理上。
路小饭
2019-01-17
1.7K0
Tars-C++ 揭秘篇:TC_Buffer的妙用
在上篇文章Tars-C++ 揭秘篇:Tars-RPC收发包管理中,客户端收发包流程的缓存都用到了TC_Buffer结构,利用“水位”完成了内存的动态管理。本章对其进行介绍
路小饭
2019-01-11
1.6K0
Tars-C++ 揭秘篇:Tars协议解析
Tarc-C++揭秘篇是从第九节开始的,承接于我的上篇文章:使用C++重写Tars-RPC主逻辑框架
路小饭
2019-01-07
7.3K1
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档