<ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>


      為什么需要分布式id生成系統(tǒng)


      在復(fù)雜分布式系統(tǒng)中,往往需要對大量的數(shù)據(jù)和消息進(jìn)行唯一標(biāo)識(shí)。如在美團(tuán)點(diǎn)評(píng)的金融、支付、餐飲、酒店、貓眼電影等產(chǎn)品的系統(tǒng)中,數(shù)據(jù)日漸增長,對數(shù)據(jù)分庫分表后需要有一個(gè)唯一ID來標(biāo)識(shí)一條數(shù)據(jù)或消息,數(shù)據(jù)庫的自增ID顯然不能滿足需求;特別一點(diǎn)的如訂單、騎手、優(yōu)惠券也都需要有唯一ID做標(biāo)識(shí)。此時(shí)一個(gè)能夠生成全局唯一ID的系統(tǒng)是非常必要的。概括下來,那業(yè)務(wù)系統(tǒng)對ID號(hào)的要求有哪些呢?

      分布式id創(chuàng)建的業(yè)務(wù)需求

      ?


      1.全局唯一性:不能出現(xiàn)重復(fù)的ID號(hào),既然是唯一標(biāo)識(shí),這是最基本的要求。

      2.趨勢遞增:在MySQL
      InnoDB引擎中使用的是聚集索引,由于多數(shù)RDBMS使用B-tree的數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)索引數(shù)據(jù),在主鍵的選擇上面我們應(yīng)該盡量使用有序的主鍵保證寫入性能。

      3.單調(diào)遞增:保證下一個(gè)ID一定大于上一個(gè)ID,例如事務(wù)版本號(hào)、IM增量消息、排序等特殊需求。


      4.信息安全:如果ID是連續(xù)的,惡意用戶的扒取工作就非常容易做了,直接按照順序下載指定URL即可;如果是訂單號(hào)就更危險(xiǎn)了,競對可以直接知道我們一天的單量。所以在一些應(yīng)用場景下,會(huì)需要ID無規(guī)則、不規(guī)則。

      5.分布式id里面最好包含時(shí)間戳,這樣就能夠在開發(fā)中快速了解這個(gè)分布式id的生成時(shí)間

      ?

      上述123對應(yīng)三類不同的場景,3和4需求還是互斥的,無法使用同一個(gè)方案滿足。

      ?


      同時(shí)除了對ID號(hào)碼自身的要求,業(yè)務(wù)還對ID號(hào)生成系統(tǒng)的可用性要求極高,想象一下,如果ID生成系統(tǒng)癱瘓,整個(gè)美團(tuán)點(diǎn)評(píng)支付、優(yōu)惠券發(fā)券、騎手派單等關(guān)鍵動(dòng)作都無法執(zhí)行,這就會(huì)帶來一場災(zāi)難。由此我總結(jié)下一個(gè)ID生成系統(tǒng)應(yīng)該做到如下幾點(diǎn):

      ?


      可用性高:就是我用戶發(fā)了一個(gè)獲取分布式id的請求,那么你服務(wù)器就要保證99.999%的情況下給我創(chuàng)建一個(gè)分布式id

      延遲低:就是我用戶給你一個(gè)獲取分布式id的請求,那么你服務(wù)器給我創(chuàng)建一個(gè)分布式id的速度就要快

      高QPS:這個(gè)就是用戶一下子有10萬個(gè)創(chuàng)建分布式id請求同時(shí)過去了,那么你服務(wù)器要頂?shù)淖。阋幌伦咏o我成功創(chuàng)建10萬個(gè)分布式id

      分布式ID其他系列快捷鍵:


      分布式ID系列(1)——為什么需要分布式ID以及分布式ID的業(yè)務(wù)需求
      <https://www.cnblogs.com/itqiankun/p/11302604.html>
      分布式ID系列(2)——UUID適合做分布式ID嗎 <https://www.cnblogs.com/itqiankun/p/11307738.html>?
      分布式ID系列(3)——數(shù)據(jù)庫自增ID機(jī)制適合做分布式ID嗎
      <https://www.cnblogs.com/itqiankun/p/11313412.html>

      友情鏈接
      ioDraw流程圖
      API參考文檔
      OK工具箱
      云服務(wù)器優(yōu)惠
      阿里云優(yōu)惠券
      騰訊云優(yōu)惠券
      京東云優(yōu)惠券
      站點(diǎn)信息
      問題反饋
      郵箱:[email protected]
      QQ群:637538335
      關(guān)注微信

        <ul id="qxxfc"><fieldset id="qxxfc"><tr id="qxxfc"></tr></fieldset></ul>
          人妻操| 人人妻人人澡人人爽人人欧美一区 | 日韩精品无码高清 | 99这里精品 | 野外被弄了h野战 | 久久久久偷看国产亚洲87 | 插骚逼网站 | 亚洲欧洲精品一区二区三区不卡 | 夜夜春亚到洲 | 午夜一区二区三区视频 |