1、UUID:
不適合作為主鍵,因?yàn)樘L(zhǎng)了,并且無序不可讀,查詢效率低。比較適合用于生成唯一的名字的標(biāo)示比如文件的名字。
2、數(shù)據(jù)庫(kù)自增 id :
兩臺(tái)數(shù)據(jù)庫(kù)分別設(shè)置不同步長(zhǎng),生成不重復(fù)ID的策略來實(shí)現(xiàn)高可用。這種方式生成的 id 有序,但是需要獨(dú)立部署數(shù)據(jù)庫(kù)實(shí)例,成本高,還會(huì)有性能瓶頸。
3、利用 redis 生成 id :
性能比較好,靈活方便,不依賴于數(shù)據(jù)庫(kù)。但是,引入了新的組件造成系統(tǒng)更加復(fù)雜,可用性降低,編碼更加復(fù)雜,增加了系統(tǒng)成本。
4、Twitter的snowflake算法 :
Github 地址:https://github.com/twitter-archive/snowflake。文章來源:http://www.zghlxwxcb.cn/news/detail-860617.html
5、美團(tuán)的Leaf分布式ID生成系統(tǒng) :
Leaf 是美團(tuán)開源的分布式ID生成器,能保證全局唯一性、趨勢(shì)遞增、單調(diào)遞增、信息安全,里面也提到了幾種分布式方案的對(duì)比,但也需要依賴關(guān)系數(shù)據(jù)庫(kù)、Zookeeper等中間件。
美團(tuán)技術(shù)團(tuán)隊(duì)文章:https://tech.meituan.com/2017/04/21/mt-leaf.html文章來源地址http://www.zghlxwxcb.cn/news/detail-860617.html
到了這里,關(guān)于分庫(kù)分表之后主鍵id解決方案有哪些的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!