yitter / IdGenerator

💎多语言实现,高性能生成唯一数字ID。 💎优化的雪花算法(SnowFlake)——雪花漂移算法,在缩短ID长度的同时,具备极高瞬时并发处理能力(50W/0.1s)。 💎原生支持 C#/Java/Go/Rust/C/JavaScript/TypeScript/Python/Pascal 多语言,提供其它适用于其它语言的多线程安全调用动态库(FFI)。💎支持容器环境自动扩容(自动注册 WorkerId ),单机或分布式唯一IdGenerator。💎顶尖优化,超强效能。
MIT License
2.64k stars 376 forks source link

workid设置问题 #96

Closed cc-cfg closed 8 months ago

cc-cfg commented 9 months ago

❄ 如果ID生成需求不超过5W个/s,不用修改任何配置参数

1、ID生成需求不超过5W个/s,是不是写死workid=1 就行? 2、服务A容器化部署后,给服务A的每个pod设置不同的workid目前没找到合适的设置方式,并且pod会变动

yitter commented 9 months ago
  1. 跟workerid没有关系。
  2. 参考:https://github.com/yitter/IdGenerator/tree/master/Tools/AutoRegisterWorkerId
cc-cfg commented 9 months ago
  1. 跟workerid没有关系。
  2. 参考:https://github.com/yitter/IdGenerator/tree/master/Tools/AutoRegisterWorkerId

感谢回复,k8s部署的服务A,该服务有5个pod,能否将workId都设置为1,这样出现id冲突的概率大吗?

yitter commented 9 months ago
  1. 跟workerid没有关系。
  2. 参考:https://github.com/yitter/IdGenerator/tree/master/Tools/AutoRegisterWorkerId

感谢回复,k8s部署的服务A,该服务有5个pod,能否将workId都设置为1,这样出现id冲突的概率大吗?

不能相同,通过官方给的regworkerid组件,基于redis去动态获取。你也可以想办法确保每个容器里的WorkerId唯一。