CS 架构
从水平上划分为三个模块:Restful,Scheduler,Service
将请求封装为httpjob提交到Scheduler
通过httpjob的protocol的ServiceName找到相应的服务执行这个job
真正执行请求逻辑的模块,封装ResponseProtocol,并唤醒Restful中wait的线程
从垂直上划分为4个模块:Listener,History,ContextId,Context:
负责Client端的注册和绑定(写入数据库和在CallbackEngine中进行注册)
心跳接口,通过CallbackEngine返回Array[ListenerCallback]
创建和移除history,操作Persistence进行DB持久化
主要是对接Persistence进行ContextId的创建,更新移除等操作
对于移除,reset等方法,先操作Persistence进行DB持久化,并更新ContextCache
封装查询condition去ContextSearch模块获取相应的ContextKeyValue数据
请求访问步骤如下图:
需要保证Restful的线程池不被填满
时序图如下: