立即注册 登录
即时通讯网 返回首页

jerryzhang的个人空间 http://www.52im.net/?4515 [收藏] [复制] [RSS]

日志

超大群组的聊天如何优化?

热度 1已有 2478 次阅读2017-09-15 17:20 |个人分类:IM| 群组聊天

要求
  • 保证消息可达,不可以丢失
  • 保证消息有序
  • 用户离线,消息在重新登录后依然能够正常获取
  • 希望尽可能的减少数据库的操作

现在的思路
  • 群组消息共享,每个用户通过在群组中上次ACK的消息的msg_id或者time来获取最新的消息
  • 新的消息到来时,
    • 所有的在线用户投递相应的消息,ACK之后删除掉相应的消息
    • 离线用户
      1. 不做任何操作,但是用户在上线拉取离线消息的时候,需要来去自己所有群组的离线消息
      2. 标记上用户的哪个群组有新消息进入,这样每个离线用户都要有一个操作,但是登录时不需要逐个查询所有的群组

期望

离线的用户,即不用任何的操作,也不需要每次上线的时候,都查询所有的群组队列?

1 推荐

发表评论 评论 (2 个评论)

回复 JackJiang 2017-09-15 17:37
超大群组从性能优化上来说,确实比较麻烦
回复 jerryzhang 2017-09-16 20:51
JackJiang: 超大群组从性能优化上来说,确实比较麻烦
这个肯定不能从根本上避免这个问题,但是希望能够多跟大家学习,能够尽可能好的根据自己业务的特性来,尽可能好的提升这方面的处理能力

facelist

您需要登录后才可以评论 登录 | 立即注册

返回顶部