优秀开源源码分析
Dachao1013
华为全栈工程师一枚,多分享,多总结,加油!
微信号yc299792
欢迎来扰
展开
-
Redis分析之整体架构
Redis 源码分析之服务端整体架构redis是怎么启动的,任何的C语言系统肯定都是从main函数进入,我们又知道redis主要就是一个服务端程序,所以找server的main,在server.c里面找到main函数。启动过程下面看看main函数干了些什么:c语言系统中一般会维护一个全局的数据对象去存储整个系统的关键数据,这里维护的就是一个server对象,系统数据都保存在这个结构体中,m...原创 2020-01-17 15:23:43 · 509 阅读 · 0 评论 -
zmq初次使用
文章目录传统网络通信zmq是什么传统网络通信[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传对着这个图就很简单了:服务端:肯定要有一个socket然后绑定fd和ip,port,当然这时候需要转换成网络字节序,然后一堆操作,绑定完成以后就用这个fd去监听这个端口,开启listen,然后等待连接就是调用accept阻塞在这里等待连接,客户端连接后循环阻塞读写。客户端:...原创 2020-01-11 11:09:14 · 2173 阅读 · 1 评论 -
从Thrift服务框架思考服务器框架-真的很有收获
Thrift框架底层的(I/O)模块:负责实际的数据传输,比如Socket、文件、压缩数据流等的传输。TTransport(负则传输的模块,就是底层I/O的实现):每一种传输方式都对应一个该模块,比如TSocket负则Socket通信,负责传输的对象就是Message。TProtocol:这个就是协议模块,因为对Message的传输需要统一,否则就乱了,也就是对Message进行序列化的模块...原创 2020-01-10 14:08:08 · 305 阅读 · 0 评论 -
libevent的使用流程
文章目录libevent的使用流程具体使用流程:1、事件处理的框架:event_base2、3、创建事件和添加事件4、事件循环5、释放资源总结libevent的使用流程libevent是一个高性能事件通知库,它的优点主要有这些:事件驱动的:也就是说当某一个被关注的事件发生时会启动事件的回调函数。比如epoll就是事件驱动的。高性能轻量级:libevent虽然很小,代码十分简洁清量,但是它...原创 2020-01-09 16:50:51 · 435 阅读 · 0 评论