分布式系统中生成唯一id的方法一:
分布式唯一id = 时间戳+机房编号/主机编号+随机因子(+指字符串拼接)
如果添加商品的速度比较慢,直接使用时间戳就够了
但是如果一个时间戳内,添加了多个商品,
添加的多个商品,是落在不同的主机上的,就可以保证同一时间内,添加到不同主机的商品编号,是不同的了.
那么我们能否会遇到生成的随机因子是相同的呢?
当然了,随机因子偶尔会遇到重复的情况,那么我们怎么解决这些问题呢?
我们可以通过改变时间戳、机房编号、随机因子来进行调整。
我们可以选取微秒/毫秒级的时间戳、选取好的机房/主机编号、以及生成较大的随机因子这些方法去避免分布式id的重复。