原文地址 https://mp.weixin.qq.com/s/so7F88S7-3Wmq9x_rrYAoA
1. 群聊消息要保存进数据库,群消息要有一个有序ID标识。 (离线用户上线时,要拉取查看)
2. 每个群成员都要在数据库里,记录他最后收到的那个群消息ID。(在他上线时,根据这个ID和最新ID,决定要给他推送哪些消息)
3. 用户收到消息后,要发个ack给服务端,服务端才跟新他的最后收到消息ID。(避免消息丢包)
4. 发个ack给服务端,可以批量发。(避免ack风暴)
5. 优化后存在客户端收到相同消息的情况,可根据消息ID,在客户端做排除。
6. 离线消息可以分页发,避免一次发送过大数据。