首页 > 文档
MC是如何使用多线程和状态机来处理请求命令的?
- 2024-05-30
- 1029 ℃
网络模型:了解了 Mc 的系统架构之后,我们接下来可以逐一深入学习 Mc 的各个模块了。首先,我们来学习 Mc 的网络模型。
主线程:Mc 基于 Libevent 实现多线程网络 IO 模型。Mc 的 IO 处理线程分主线程和工作线程,每个线程各有一个 event_base,来监听网络事件。主线程负责监听及建立连接。工作线程负责对建立的连接进行网络 IO 读取、命令解析、处理及响应。
Mc 主线程在监听端口时,当有连接到来,主线程 accept 该连接,并将连接调度给工作线程。调度处理逻辑,主线程先将 fd 封装成一个 CQ_ITEM 结构,并存入新连接队列中,然后轮询一个工作线程,并通过管道向该工作线程发送通知。工作线程监听到通知后,会从新连接队列获取一个连接,然后开始从这个连接读取网络 IO 并处理,如下图所示。主线程的这个处理逻辑主要在状态机中执行,对应的连接状态为 conn_listening。
上一篇:MC如何淘汰冷key和失效key
下一篇:MC是怎么定位key的
相关内容
播音主持练习资料
设计缓存架构时需要考量...
中医执业--康康笔记
Redi如何处理文件事件和...
缓存失效、穿透和雪崩问...
仓储管理,领、退料记录...
JavaPerformanceThe Definitive Guide
一本书读懂 大数据
-
员工招聘制度表 - 企业管理表格
2024-07-27 1121
-
中医执业--康康笔记
2024-06-18 2692
-
2009-2017年国家司法考试真题答案及解析集
2024-08-18 1309
-
深入理解Java虚拟机 ——JVM高级特性与最佳实践
2024-05-24 957
-
2012特岗教师招聘试题
2024-08-20 1139
-
教师招聘面试秘籍资料 -- 讲课
2024-08-19 1274
-
Redi读取请求数据后,如何进行协议解析和处理
2024-05-24 1057
-
JBPM开发指南
2024-05-28 933
-
2009-2022计算机考研408历年真题及解析
2024-08-18 1162
-
膝关节解剖与触诊(新)
2024-06-18 1304
文章评论 (0)
- 这篇文章还没有收到评论,赶紧来抢沙发吧~


下载完整资料
点击分享文章