默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
请问缓存消息丢失后IM服务端如何保证序列号的递增?
阅读(30162) | 评论(3 收藏 淘帖
我们现在有一个需求,假如服务器挂了,重启之后缓存的消息丢失了。之前是将序列号重新置为0-1,现在发现这个需求下拉取的消息是错误序列号消息。所以现在想将序列号的初始值置为时间戳(64位,时间戳单位为毫秒)-1,之后初始值++,保证其递增,不过这样就保证不了红点的真实性,因为再次初始化的序列号比之前的最后一条消息的序列号可能会大很多。所以想问一下有没有更好的解决方案。之前还有一个方案是直接将会话Id重置,不过这样太耗费流量了,因为要通知每个客户端重置了会话。

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:求助 IM开发
上一篇:大家是怎么处理IM里离线消息漏读取这种并发问题的?下一篇:请问如何入门C++网络编程,有什么好的书籍推荐吗
推荐方案
评论 3
谢谢分享,不过ID生成的架构不是我本人设计的,所以唉。做了架构不做容灾,现在让我做容灾是真的恼火。感觉一口黑锅在向我招手
引用:完蛋 发表于 2020-12-25 11:15
谢谢分享,不过ID生成的架构不是我本人设计的,所以唉。做了架构不做容灾,现在让我做容灾是真的恼火。感觉 ...

好大一口锅。。。背不动。。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部