IM即时通讯

IM海量聊天消息序列号生成

2018-12-11  本文已影响29人  Tucke

如何确保聊天消息的唯一性和顺序性?

目前找到的方案

  1. Twitter的snowflake算法 (算法简单,值得一试)
    • snowflake 是 Twitter 开源的分布式 ID 生成算法,结果是一个 long 型的 ID。其核心思想是:使用 41bit 作为毫秒数,10bit 作为机器的 ID ( 5 个 bit 是数据中心,5 个 bit 的机器 ID ),12bit 作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID ),最后还有一个符号位,永远是 0。


  2. seqsvr(在没有微信那么高的并发情况下,暂时不考虑,毕竟实现麻烦)
上一篇 下一篇

猜你喜欢

热点阅读