1、雪花算法介绍
面试官:集群高并发情况下如何实现分布式唯一全局id生成? - 墨天轮
2、百度的UidGenerator 介绍,适合容器化配置,同时兼容springboot,只需要mysql数据库,
https://github.com/baidu/uid-generator/blob/master/README.zh_cn.md
3、美团的,mysql数据库和zk
https://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.md
总结:
上面是三个主流的分布式id,可以根据具体业务选择相关组件,
百度的worker id的生成策略和美团的生成策略不太一样,美团的snowflake主要利用本地配置的port和IP来唯一确定一个workid,美团的这种生成方式还是可以由于手工配置错误造成port重复,最终产生重复ID的风险,百度的这种生成方式每次都是新增的,可能会一段时间后worker id用完的情况,人工配置错误的可能性很小了.=