分佈式id生成系統--總結

分佈式id生成系統--總結

UUID

簡單易用, 可是作數據庫分片的時候, UUID不太適合做爲分片鍵html

詳見 Leaf——美團點評分佈式ID生成系統git

snowflake

性能很是高, 缺點是若是時間回撥或者各個實例節點時間不一致, 容易出錯github

詳見 Leaf——美團點評分佈式ID生成系統數據庫

美團開源的Leaf

支持多種不一樣模式的生成策略網絡

  1. 號段模式
    1. 該模式須要建DB表, 須要有專門的服務來提供獲取id的接口, 存在網絡延遲
  2. Snowflake模式

爲了追求更高的性能,須要經過RPC Server來部署Leaf 服務,那僅須要引入leaf-core的包,把生成ID的API封裝到指定的RPC框架中便可併發

詳見 Leaf框架

sharding-jdbc開源的主鍵生成組件

簡單易用, 能夠指定workerId或者不指定, 直接經過jar的方式引入便可分佈式

缺點:性能

在併發度不高的狀況, 容易老是生成偶數ui

百度開源的uid-generator

須要建DB表, 須要有專門的服務來提供獲取id的接口, 存在網絡延遲

詳見 uid-generator

原文出處:https://www.cnblogs.com/shanzhai/p/10500389.html

相關文章
相關標籤/搜索