该架构中只让其他模块对中间层产生耦合关系,中间层不对其他模块发生耦合。采用组件化的架构,将每个模块作为一个组件,并且建立一个主项目,这个主项目负责集成所有组件。这样带来的好处是很多的:业务划分更佳清晰;项目可维护性更强,提高开发效率;更好排查问题,某个组件出现问题,直接对组件进行处理;开发测试过程中,可以只编译自己那部分代码,不需要编译整个项目代码。进行组件化开发后,可以把每个组件当做一个独立的应用,每个组件甚至可以采取不同的架构,根据自己的编程习惯做选择。
本项目实现xms_gateway中间层,由其中的XRouter_Server进行组件间的消息转发。实现方式大致是,在注册中心组件中提前注册应用组件中的微服务,然后将该微服务配置加入配置中心,此时,每个应用组件中的服务端微服务和客户端的消息通信通过中间层转发,与其他应用组件可以解耦。
线程池模块类图:
线程池初始化流程图:
线程池任务处理流程:
通信模块用于客户端和服务端的通信,是基础类,XComTask 封装 libevent , 调用此类不需要调用 libevent 接口。XMsgEvent 实现基于 Ptotobuf 的消息通信和消息处理函数注册。
消息通信模块类图:
路由转发模块类图:
路由转发顺序图:
路由转发流程图:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )