數據庫 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章