1. 程式人生 > >常用的分散式id設計方案

常用的分散式id設計方案

一:全域性性,有序性。

實現方案有基於資料庫的,也有snowflake演算法

snowflake中的時間是system.currentTimemillins(),所以不受時令切換的影響

出來考慮全域性性和有序性,還有沒有別的考慮? 這些解決方案有沒有什麼問題?

有意義,id有業務意義。高可用,長度過長對於mysql效能有影響,有些語言也有影響

資料庫實現方式對資料庫效能有影響,可以用倆層架構,可以加一層快取,然後批量操作資料庫。

snowflake實現方式可能會有時間偏斜問題,可預測問題,2038年的問題。

時鐘偏斜問題可以開啟ntp,也可以快取時間戳。

還有不同的機器時間可能不一致。