今天就跟大家聊聊有關(guān)五種常見的分布式ID分別是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
尖山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
相信每個人在互聯(lián)網(wǎng)的業(yè)務(wù)系統(tǒng)中,每天都能接觸到各種各樣的ID,如在支付系統(tǒng)中就會有支付ID、退款I(lǐng)D等。今天,小編就來盤點(diǎn)五種分布式ID。
一、UUID
UUID (Universally Unique Identifier) 的標(biāo)準(zhǔn)型式包含 32 個 16 進(jìn)制數(shù)字,以連字號分為五段,形式為 8-4-4-4-12 的 36 個字符,示例:550e8400-e29b-41d4-a716-446655440000,到目前為止業(yè)界一共有 5 種方式生成 UUID。
UUID 的優(yōu)點(diǎn):性能非常高:本地生成,沒有網(wǎng)絡(luò)消耗。
UUID 的缺點(diǎn):
不易于存儲:UUID 太長,16 字節(jié) 128 位,通常以 36 長度的字符串表示,很多場景不適用。
信息不安全:基于 MAC 地址生成 UUID 的算法可能會造成 MAC 地址泄露,這個漏洞曾被用于尋找梅麗莎病毒的制作者位置。
ID 作為主鍵時(shí)在特定的環(huán)境會存在一些問題,比如做 DB 主鍵的場景下,UUID 就非常不適用。MySQL 官方有明確的建議主鍵要盡量越短越好,36 個字符長度的 UUID 不符合要求;UUID 還對 MySQL 索引不利,如果作為數(shù)據(jù)庫主鍵,在 InnoDB 引擎下,UUID 的無序性可能會引起數(shù)據(jù)位置頻繁變動,嚴(yán)重影響性能。
二、snowflake
snowflake 我就不在介紹了,我直接說它的優(yōu)點(diǎn):
毫秒數(shù)在高位,自增序列在低位,整個ID都是趨勢遞增的。
不依賴數(shù)據(jù)庫等第三方系統(tǒng),以服務(wù)的方式部署,穩(wěn)定性更高,生成ID的性能也是非常高的。
可以根據(jù)自身業(yè)務(wù)特性分配bit位,非常靈活。
缺點(diǎn):
強(qiáng)依賴機(jī)器時(shí)鐘,如果機(jī)器上時(shí)鐘回?fù)?,會?dǎo)致發(fā)號重復(fù)或者服務(wù)會處于不可用狀態(tài)。
MongDB 的 ObjectID 可以算作是和snowflake類似方法,通過“時(shí)間+機(jī)器碼+pid+inc”共12個字節(jié),通過4+3+2+3的方式最終標(biāo)識成一個24長度的十六進(jìn)制字符。
三、美團(tuán)開源的Leaf
支持多種不同模式的生成策略
號段模式:該模式需要建 DB 表, 需要有專門的服務(wù)來提供獲取 id 的接口, 存在網(wǎng)絡(luò)延遲
Snowflake 模式:為了追求更高的性能,需要通過 RPC Server 來部署 Leaf 服務(wù),那僅需要引入 leaf-core 的包,把生成 ID 的 API 封裝到指定的 RPC 框架中即可.
缺點(diǎn),可能就是相對來說比較復(fù)雜。
四、sharding-jdbc
sharding-jdbc 是一個開源的主鍵生成組件。它的特點(diǎn)是簡單易用,可以指定 workerId 或者不指定, 直接通過 jar 的方式引入即可。看它的名字就知道,它需要 DB 支持。
五、uid-generator
uid-generator 是百度開源的一個分布式 ID生成器。需要建 DB 表, 需要有專門的服務(wù)來提供獲取 id 的接口, 存在網(wǎng)絡(luò)延遲。
看完上述內(nèi)容,你們對五種常見的分布式ID分別是什么有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前題目:五種常見的分布式ID分別是什么
本文URL:http://sd-ha.com/article32/gjjssc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、企業(yè)網(wǎng)站制作、域名注冊、面包屑導(dǎo)航、網(wǎng)站策劃、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)