国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分布式ID系列(1)——為什么需要分布式ID以及分布式ID的業(yè)務(wù)需求

Snailclimb / 3619人閱讀

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

分布式id主要用到哪些地方

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

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

要求如下所示

1.全局唯一性:不能出現(xiàn)重復(fù)的ID號(hào),既然是唯一標(biāo)識(shí),這是最基本的要求。
2.趨勢(shì)遞增:在MySQL InnoDB引擎中使用的是聚集索引,由于多數(shù)RDBMS使用B-tree的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)索引數(shù)據(jù),在主鍵的選擇上面我們應(yīng)該盡量使用有序的主鍵保證寫入性能。
3.單調(diào)遞增:保證下一個(gè)ID一定大于上一個(gè)ID,例如事務(wù)版本號(hào)、IM增量消息、排序等特殊需求。
4.信息安全:如果ID是連續(xù)的,惡意用戶的扒取工作就非常容易做了,直接按照順序下載指定URL即可;如果是訂單號(hào)就更危險(xiǎn)了,競(jìng)對(duì)可以直接知道我們一天的單量。所以在一些應(yīng)用場(chǎng)景下,會(huì)需要ID無(wú)規(guī)則、不規(guī)則。
5.分布式id里面最好包含時(shí)間戳,這樣就能夠在開發(fā)中快速了解這個(gè)分布式id的生成時(shí)間

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

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

可用性高:就是我用戶發(fā)了一個(gè)獲取分布式id的請(qǐng)求,那么你服務(wù)器就要保證99.999%的情況下給我創(chuàng)建一個(gè)分布式id
延遲低:就是我用戶給你一個(gè)獲取分布式id的請(qǐng)求,那么你服務(wù)器給我創(chuàng)建一個(gè)分布式id的速度就要快
高QPS:這個(gè)就是用戶一下子有10萬(wàn)個(gè)創(chuàng)建分布式id請(qǐng)求同時(shí)過(guò)去了,那么你服務(wù)器要頂?shù)淖。阋幌伦咏o我成功創(chuàng)建10萬(wàn)個(gè)分布式id

原文鏈接

其他分布式ID系列快捷鍵:
分布式ID系列(1)——為什么需要分布式ID以及分布式ID的業(yè)務(wù)需求
分布式ID系列(2)——UUID適合做分布式ID嗎
分布式ID系列(3)——數(shù)據(jù)庫(kù)自增ID機(jī)制適合做分布式ID嗎
分布式ID系列(4)——Redis集群實(shí)現(xiàn)的分布式ID適合做分布式ID嗎

大佬網(wǎng)址
https://www.itqiankun.com/art...
https://blog.csdn.net/hengyun...
https://tech.meituan.com/2017...
https://segmentfault.com/a/11...
https://www.jianshu.com/p/9d7...

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/76113.html

相關(guān)文章

  • 布式ID系列(2)——UUID適合做布式ID

    摘要:用戶指定一個(gè)名字空間和一個(gè)字符串,通過(guò)散列,生成。字符串本身需要是唯一的。。雖然是基于隨機(jī)數(shù),但是重復(fù)的可能性可以忽略不計(jì),因此該版本也是被經(jīng)常使用的版本。。當(dāng)前正在使用的。。 UUID的生成策略: UUID的方式能生成一串唯一隨機(jī)32位長(zhǎng)度數(shù)據(jù),它是無(wú)序的一串?dāng)?shù)據(jù),按照開放軟件基金會(huì)(OSF)制定的標(biāo)準(zhǔn)計(jì)算,UUID的生成用到了以太網(wǎng)卡地址、納秒級(jí)時(shí)間、芯片ID碼和許多可能的數(shù)字。U...

    wayneli 評(píng)論0 收藏0
  • 布式ID系列(3)——數(shù)據(jù)庫(kù)自增ID機(jī)制適合做布式ID

    摘要:數(shù)據(jù)庫(kù)自增機(jī)制原理介紹在分布式里面,數(shù)據(jù)庫(kù)的自增機(jī)制的主要原理是數(shù)據(jù)庫(kù)自增和數(shù)據(jù)庫(kù)的函數(shù)實(shí)現(xiàn)的。 數(shù)據(jù)庫(kù)自增ID機(jī)制原理介紹 在分布式里面,數(shù)據(jù)庫(kù)的自增ID機(jī)制的主要原理是:數(shù)據(jù)庫(kù)自增ID和mysql數(shù)據(jù)庫(kù)的replace_into()函數(shù)實(shí)現(xiàn)的。這里的replace數(shù)據(jù)庫(kù)自增ID和mysql數(shù)據(jù)庫(kù)的replace_into()函數(shù)實(shí)現(xiàn)的。這里的replace into跟insert功...

    Stardustsky 評(píng)論0 收藏0
  • 解決方案:如何防止數(shù)據(jù)重復(fù)插入?

    摘要:?jiǎn)栴}是,重復(fù)請(qǐng)求導(dǎo)致的數(shù)據(jù)重復(fù)插入。這問題造成的后果很明顯數(shù)據(jù)冗余,可能不單單多一條有些業(yè)務(wù)需求不能有多余數(shù)據(jù),造成服務(wù)問題問題如圖所示解決方式如何將同請(qǐng)求,不執(zhí)行插入,而是讀取前一個(gè)請(qǐng)求插入的數(shù)據(jù)并返回。那么使用分布式鎖的解決方案。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝!目錄 為啥要解...

    wenshi11019 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<