私有化独立部署IM即时通讯,聊天软件私有化即时通讯解决方案-客户端架构介绍
客户端架构介绍
客户端和IM服务端交互,本地数据存储和同步,消息、事件回调。
IM分为三层:网络层、逻辑层、存储层。分层治理,各司其职,实现高效、稳定、统一的客户端架构。
(1)网络层:负责和服务端保持websocket连接、断网重连,接收消息推送,以确保在线时消息以及各种事件能实时达到。负责初始登录是、重连时数据补齐,通过对比本地seq和服务端大seq,同步拉取差值消息或事件,确保客户端和服务端达到终一致的状态。
(2)逻辑层:针对主动调用接口和事件被动触发,对接网络层和存储层,实现业务细节,根据逻辑完成与UI之间的回调。
(3)存储层:存储本地和服务端的数据同步,包括会话、消息、事件、通讯录、群组等,对外提供的数据get接口,通过本地数据库获取,实现了无网络情况下能查看消息等本地数据,也能有效缓解服务端的压力,达到了数据同步和缓存的双重目的。