分布式id

2021-08-25  本文已影响0人  张某某xyz

20210825

首先介绍下代理主键和业务主键

分布式ID的难点

保证多个节点生成的id不重复,如订单服务有3个节点,这3个节点在创建订单时订单id不能重复

解决方法有:

UUID, 雪花算法

UUID

最简单的方式
优点:生成方式简单 UUID.randomUUID().toString()
缺点:长度太长了,是16字节

雪花算法

总长度1+41+12+10=64bit=8字节(比UUID短一半)

缺点:当调整服务器的时间时可能造成 41bit的事件戳 出现重复

readis、mysql集群这些利用外部服务提供id的做法不要去用,因为成本大

参考

上一篇下一篇

猜你喜欢

热点阅读