分布式id生成器
etcd 为什么要使用etcd,主要是要考虑到workid需要抢占锁 https://yuerblog.cc/2017/12/12/etcd-v3-sdk-usage/ 分布式锁 https://blog.csdn.net/cadem/article/details/56495834 https://www.jianshu.com/p/d3068d0ac7c1 https: »
etcd 为什么要使用etcd,主要是要考虑到workid需要抢占锁 https://yuerblog.cc/2017/12/12/etcd-v3-sdk-usage/ 分布式锁 https://blog.csdn.net/cadem/article/details/56495834 https://www.jianshu.com/p/d3068d0ac7c1 https: »
分布式Id snowflake 是一种分布式id唯一算法,相比较uuid算法生成方式,snowflake生成的是一个int64大整型,并且是大致递增 我发现网上对于该算法的描述,在位数偏移上是由差异的,但是整体思路是一致的 这里的10-bit workerId在有的源码里面是分成两个 workerId 、data的5-bit大小 可以大致算一下,1毫秒1单点能生成2 ^ 12 = 4096个id,总共能部署 2 ^ 10 = 1024 个节点,也就是1毫秒最大能生成400多万个id 我按照算法思路写了如下代码 package main »