默认
打赏 发表评论 62
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
引用:JackJiang 发表于 2016-05-10 13:44
这篇文章对IM的消息送达保证机制讲的比较清楚,实用性也比较强,暂未了解过相关机制的群友值得看看。
Mobi ...

有群聊的实现思路吗?群聊要保证到达的话,成本比较大啊。
我之前看过,微信是把群聊分发后,当成个人聊天一样的处理的。这种方式成本很大,1000人的群就扩散了1000次。而且一旦要保证到达,离线消息的保存成本也很大。
所以请教一下,如果群聊也要保证到达,有无比较优化的思路?
签名: 该会员没有填写今日想说内容.
评论 62
引用:JackJiang 发表于 2016-05-10 15:13
我认为群消息和个人消息,其实以现在的移动端体验来说,应该是没有区别的,所以你不应该从思维里就把群消 ...

你说的跟微信的设计是一致的,把群消息当个人消息处理。
而2个问题我在实际中确实遇到了。
第1个还好解决,通过消息id来排序;
第2个就很麻烦了,群消息对服务器压力实在太大。个人消息,1s顶多两三条消息,而群消息,1s峰值可能达到上百条消息,而且要扩散处理,一下子就指数级暴涨。
对于这一点,请问大大有没有比较好的解决思路,或者应该用什么算法?
签名: 该会员没有填写今日想说内容.
引用:JackJiang 发表于 2016-05-11 11:23
第2点,要想完美肯定只能集群来解决,不然没有伸缩性,单机的话怎么优化总归是要到终点的,而且不能出现 ...

我们还没正式推出使用,现在还是内部运用。
峰值的问题,是我用机器人压测的时候出现的。我用的vm虚拟机,个人聊天可以达到2k人没问题。群聊300左右就到达峰值了。后面我就用了任务队列,牺牲用户体验了,每个人发消息都要排队,超时就发送失败。
签名: 该会员没有填写今日想说内容.
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部