两张图看懂webim网页即时聊天系统的架构设计

两张图看懂webim网页即时聊天系统的架构设计

时间:2020-02-12 09:22 作者:admin 点击:
阅读模式 两张图看懂webim网页即时聊天系统的架构设计

JAVA最新技术分享

发布时间:19-10-07 22:53

在线消息发送

在线消息发送流程

浏览器browserA向im-server服务发送一个带有messageID的请求报文messageR。 im-server服务成功处理后,返回浏览器browserA一个响应报文messageP。 im-server服务主动向浏览器browserB发送一个消息通知报文messageN。 浏览器browserB收到messageN后,会通过messageID对messageN进行去重,并且向im-server服务发送一个ack请求报文ackR。 im-server服务成功处理后,返回浏览器browserB一个ack响应报文ackP。 im-server服务主动向浏览器browserA发送一个ack通知报文ackN。 浏览器browserA在超时时间内没有收到ackN,则重新发送请求报文messageR。 离线消息发送

浏览器browserA向im-server服务发送一个带有messageID的请求报文messageR。 im-server服务成功处理后,返回浏览器browserA一个响应报文messageP。 im-server服务检测到浏览器browserB离线,将消息message存储在数据库DB中。 im-server服务主动向浏览器browserA发送一个ack通知报文ackN。 浏览器browserB上线后向im-server服务拉取离线消息message page1(最新的第一页消息)。 im-server服务从数据库中获取离线消息message page1。 im-server服务返回给浏览器browserB离线消息message page1。 浏览器browserB收到message page1后,会通过messageID对message进行去重,并且向im-server服务发送一个ack请求报文ackR。 im-server服务收到ackR后把离线消息message page1从数据库中删除。