数据库 ID 生成方案:美团 Leaf

在美团早期,有的业务直接通过 DB 自增的方式生成 ID,有的业务通过 Redis 缓存来生成 ID,也有的业务直接用 UUID 这种方式来生成 ID。以上的方式各自有各自的问题,因此美团实现了一套分布式 ID 生成服务来满足需求。具体 Leaf 设计文档见: Leaf 美团分布式 ID 生成服务

美团的 Leaf 也是一个分布式 ID 生成框架。它非常全面,即支持号段模式,也支持 Snowflake 模式。

Leaf 中的 Snowflake 模式和原始 Snowflake 算法的不同点,也主要在 workId 的生成,Leaf 中 workId 是基于 ZooKeeper 的顺序 Id 来生成的,每个应用在使用 Leaf-snowflake 时,在启动时都会在 Zookeeper中生成一个顺序 Id,相当于一台机器对应一个顺序节点,也就是一个 workId。

最后,附上 Github 地址:美团 Leaf

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容