文章预览
在前面剖析 IM 分层架构和 IM 服务架构等一系列文章中,我们知道 IM 后端整体可以抽象为三层,即入口层 Entry、业务逻辑层 Logic 和数据访问层 Das。 关于 Entry 和 Das 如何进行设计,我们分别在 “ IM专题:分层架构IM系统(5)— Entry设计 ” 和 “IM专题:分层架构IM系统(9)— Das核心职责和逻辑设计” 中进行分析和讲解。今天我们剖析一下 Logic 中高效的单线程服务框架是如何进行设计的。 对 Entry、Logic 和 Das 三层进行抽象后,三层之间的交互方式,见下图。 首先,Logic 接收 Entry 的请求包; 然后,Logic 请求 Das,并处理 Das 的返回;根据业务需求,Logic 与 Das 之间往往会存在多次交互; 最后,Logic 将结果回复给 Entry。 上述是一个客户端发起一个请求后的基本处理流程,在这个基本流程中 Logic 的处理动作并不是连续的,而是多次等待 Das 的返回之后的
………………………………