一、写在前面:
加入有赞消息沟通平台半年有余,跟着乐多参与有赞客服系统开发及维护工作,个人也在之中不断成长。在今年的末尾,把对系统的认识进行总结梳理,送给自己~
有赞客服系统整合了有赞产品线IM通道及微信通道,商家客服可与上述通道源中的用户进行实时聊天沟通。
二、整体架构:
先上个图。
1、系统分层
系统整体分为三层,由上到下依次为“IM连接层”、“通道适配&路由层”和“消息总线”。
IM连接层:与客户端建立TCP连接,负责完成IM消息传输。
通道适配层:负责各业务通道(IM通道/微信通道)的消息格式适配,适配后的消息以业务无关的统一格式在系统内部流转。
路由层:统一维护了系统中所有登录用户的Session路由表,并依据此表进行消息路由,将推送给用户的消息定位到该用户Session所在的连接层节点。
消息总线:系统产生的待推送消息统一进入消息总线,消息总线进行“敏感词过滤”、“统计监控”等功能后,将消息分发给上层对应业务通道的某个服务节点。
2、Connector与Channel的互联
a)Connector与Channel均可独立部署多台服务,Connector服务彼此之间或Channel服务彼此之间相互独立无感知;
b)每个Connector服务与每个Channel服务之间均有一条TCP连接通道,且本地存储维护与对端的连接关系;
c)Channel服务启动时向zk进行注册,Connector服务启动时从zk发现Channel服务列表并一一与之建立连接;
<
<