分布式全局ID自增算法
发布网友
发布时间:2023-05-12 07:40
我来回答
共1个回答
热心网友
时间:2024-10-26 13:28
stub代表一个业务
这种情况有可能因为从库没来得及同步从而生成重复的ID
双主设置中,
其中一台机器值生成奇数ID
其中一台机器值生成偶数ID
业务随机从其中一个机器中取出一个ID,如果其中一台挂了,直接从另外一台生成。
1.简单 2.ID递增
1.并发量不够高
2.水平扩展困难
3.安全系数低
incrby key n //n为步长,key代表一个业务
单点吞吐不够,可以使用集群
同一个key在不同的节点上的初始值不同,步长相同,可以保证节点之间的value不相同
1.性能更好
2.ID递增
1.水平扩展困难
2.集群宕机会导致产生重复id
UUID是一组32位的16进制数字,理论上总数为16^32 = 2 ^ 128个
UUID是利用同一时空中的所有机器都是唯一的这一规则来确保唯一性的。
UUID通过系统时间,时钟序列以及全局唯一的机器识别,例如网卡MAC,机器SN等
相对安全,可以保证ID唯一
1.存储麻烦,太长了
2.无法自增
通过上面可以知道,最多可以是2 ^ 10 = 1024个全局唯一节点,最后12bit表示每毫秒生成的一个id序号。