国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

深圳手機(jī)網(wǎng)站制作公司全網(wǎng)搜索軟件

深圳手機(jī)網(wǎng)站制作公司,全網(wǎng)搜索軟件,網(wǎng)站安全檢測(cè)百度,wordpress默認(rèn)為了保證全局唯一性可以用時(shí)間作為區(qū)分點(diǎn)一部分,時(shí)間盡可能細(xì)化,可以精確到毫秒,甚至是微秒和納秒。如果是分布式系統(tǒng)有多態(tài)機(jī)器,可以根據(jù)機(jī)器ID再進(jìn)行以下區(qū)分。如哦機(jī)器運(yùn)行的特別快,1毫秒有大量ID生成,可…

為了保證全局唯一性可以用時(shí)間作為區(qū)分點(diǎn)一部分,時(shí)間盡可能細(xì)化,可以精確到毫秒,甚至是微秒和納秒。如果是分布式系統(tǒng)有多態(tài)機(jī)器,可以根據(jù)機(jī)器ID再進(jìn)行以下區(qū)分。如哦機(jī)器運(yùn)行的特別快,1毫秒有大量ID生成,可以結(jié)合實(shí)際限制下實(shí)際生成的ID數(shù)目。
如果N臺(tái)機(jī)器去ID生成服務(wù)器的服務(wù)端得到全局ID,很容易保證全局唯一切自增的,但是存在單點(diǎn)失效的問(wèn)題,不滿(mǎn)足高可用。

雪花算法

生成的結(jié)果是一個(gè)int64的數(shù)據(jù)。核心思想是:使用41bit作為毫秒數(shù),10bit作為機(jī)器的ID(5個(gè)bit是數(shù)據(jù)中心,5個(gè)bit的機(jī)器ID),12bit作為毫秒內(nèi)的流水號(hào),意味著每個(gè)節(jié)點(diǎn)再每毫秒可以產(chǎn)生 4096 個(gè) ID, 最后還有一個(gè)符號(hào)位,永遠(yuǎn)是0.

優(yōu)點(diǎn): 優(yōu)點(diǎn)是毫秒書(shū)在高位,自增序列在低位,整個(gè)ID是趨勢(shì)遞增的。不依賴(lài)數(shù)據(jù)庫(kù)等第三方系統(tǒng),一服務(wù)的方式部署,穩(wěn)定性更高,生成ID的性能也是非常高的。可以根據(jù)自身業(yè)務(wù)特性分配bit位,非常靈活。

缺點(diǎn): 強(qiáng)依賴(lài)機(jī)器時(shí)鐘,如果機(jī)器上時(shí)鐘回?fù)?#xff0c;會(huì)導(dǎo)致號(hào)重復(fù)或者服務(wù)會(huì)處于不可用狀態(tài)。

Redis生成ID

因?yàn)?Redis 是單線(xiàn)程的,也可以用來(lái)生成全局唯一ID??梢杂肦edis的原子操作INCR和INCRBY來(lái)實(shí)現(xiàn)。使用Redis集群來(lái)獲取更高的吞吐量。假如一個(gè)集群中有5臺(tái)Redis,可以初始化每臺(tái)Redis的值分別是1,2,3,4,5,步長(zhǎng)都是5,各Redis生成的ID如下:A: 1,6,11,16; B: 2,7,12,17; C: 3,8,13,18; D: 4,9,14,19; E: 5,10,15,29。負(fù)載到哪臺(tái)機(jī)器提前定好,未來(lái)很難做修改。3-5臺(tái)服務(wù)器基本能安祖需求,但步長(zhǎng)和初始值一定需要事先確定,使用Redis集群也可以解決單點(diǎn)故障問(wèn)題。

**優(yōu)點(diǎn):**不依賴(lài)數(shù)據(jù)庫(kù),靈活方便,且性能優(yōu)于數(shù)據(jù)庫(kù),數(shù)字ID天然排序,對(duì)分頁(yè)或需要排序的結(jié)果很有幫助。

**缺點(diǎn):**如果系統(tǒng)中沒(méi)有Redis,需要引入新的組件,增加系統(tǒng)復(fù)雜度;需要編碼和配置的工作量比較大。

UUID

可以利用數(shù)據(jù)庫(kù)也可以利用程序生成,一般全球唯一。UUID是由32個(gè)16進(jìn)制數(shù)字組成,所以每個(gè)UUID的長(zhǎng)度是128位(16^32 = 2 ^128)。UUID有多個(gè)實(shí)現(xiàn)版本,影響它的因素包括時(shí)間,網(wǎng)卡MAC地址,自定義Namespace等等。

優(yōu)點(diǎn):簡(jiǎn)單,代碼方便;生成ID性能非常好,基本不會(huì)有性能問(wèn)題;全球唯一,在遇見(jiàn)數(shù)據(jù)遷移,系統(tǒng)數(shù)據(jù)合并,或者數(shù)據(jù)庫(kù)變更情況下,可以從容應(yīng)對(duì)。

缺點(diǎn):沒(méi)有排序,無(wú)法保證確實(shí)遞增;UUID往往是使用字符串存儲(chǔ),查詢(xún)的效率比較低;存儲(chǔ)空間比較大,如果是海量數(shù)據(jù)庫(kù),就需要哦考慮存儲(chǔ)量的問(wèn)題;傳輸數(shù)據(jù)量大;不可讀。

美團(tuán)Leaf

Leaf-segment

直接用數(shù)據(jù)庫(kù)自增ID充當(dāng)分布式ID,減少對(duì)數(shù)據(jù)庫(kù)的頻繁操作。過(guò)程是從數(shù)據(jù)庫(kù)批量的獲取自增ID,每次從數(shù)據(jù)庫(kù)取出一個(gè)號(hào)段范圍,例如(1,10000]代表10000個(gè)ID,業(yè)務(wù)服務(wù)將號(hào)段生成1~10000的自增ID并加載在內(nèi)存,在當(dāng)前號(hào)段消費(fèi)到某個(gè)點(diǎn)時(shí),就異步的把下一個(gè)號(hào)段加載到內(nèi)存中。而不需要等到號(hào)段用盡的時(shí)候才去更新號(hào)段。這樣做很大程度上的降低了系統(tǒng)的風(fēng)險(xiǎn)。Leaf-segment采用雙buffer的發(fā)過(guò)誓,他的服務(wù)內(nèi)部有兩個(gè)號(hào)段緩存qusegment.當(dāng)前號(hào)段已消耗10%時(shí),還沒(méi)能拿到下一個(gè)號(hào)段,則會(huì)另啟一個(gè)更新線(xiàn)程去更新下一個(gè)號(hào)段。Leaf保證了總是會(huì)多緩存兩個(gè)號(hào)段,即便那一時(shí)刻數(shù)據(jù)庫(kù)掛了,也會(huì)保證發(fā)號(hào)服務(wù)可以正常工作一段時(shí)間。通常推薦號(hào)段(segment)長(zhǎng)度設(shè)置為服務(wù)高峰期發(fā)號(hào)QPS的600倍(10分鐘),這樣即使DB宕機(jī),Leaf仍能持續(xù)發(fā)號(hào)10-20分鐘不受影響。

tip biz_tag

針對(duì)不同業(yè)務(wù)需求,用biz_tag字段來(lái)隔離,如果以后需要擴(kuò)容時(shí),只需要對(duì)biz_tag分庫(kù)分表即可

優(yōu)點(diǎn): Leaf服務(wù)可以很方便的線(xiàn)性擴(kuò)展,性能完全能夠支持大多數(shù)業(yè)務(wù)場(chǎng)景;容災(zāi)行=性高;Leaf服務(wù)內(nèi)部有號(hào)段緩存,即使DB宕機(jī),短時(shí)間內(nèi)Leaf仍能正常對(duì)外提供服務(wù)。

缺點(diǎn): ID號(hào)碼不夠隨機(jī),能夠泄漏發(fā)號(hào)數(shù)量的信息,不太安全;DB宕機(jī)會(huì)造成整個(gè)系統(tǒng)不可用(用到數(shù)據(jù)庫(kù)的都有可能)

Leaf-snowflake

Leaf-snowflake基本上就是沿用了snowflake的設(shè)計(jì),ID組成結(jié)構(gòu):正數(shù)位(占1比特)+時(shí)間戳(占41比特)+機(jī)器ID(占5bit)+機(jī)房ID(占5 bit) + 自增值(占12bit), 總共54比特組成的一個(gè)int64類(lèi)型。不同點(diǎn)主要是在workId的生成上,Leaf-snowflake依靠Zookeerper生成workId。Leaf中workId時(shí)基于Zookeeper中生成一個(gè)順序Id,相當(dāng)于一臺(tái)機(jī)器對(duì)應(yīng)一個(gè)順序節(jié)點(diǎn)。

啟動(dòng)服務(wù)的過(guò)程大致如下:啟動(dòng)Leaf-snowflake服務(wù),連接Zookeeper, 在leaf_foever父節(jié)點(diǎn)下檢查自己是否已經(jīng)注冊(cè)過(guò);如果有注冊(cè)過(guò)直接取回自己的workerId(zk順序節(jié)點(diǎn)生成的int類(lèi)型ID號(hào))。啟動(dòng)服務(wù);如果沒(méi)有注冊(cè)過(guò),就在該父節(jié)點(diǎn)下面創(chuàng)建一個(gè)持久順序節(jié)點(diǎn),創(chuàng)建成功后取回順序號(hào)當(dāng)作自己的workerID號(hào),啟動(dòng)服務(wù)。Leaf-snowflake對(duì)Zookeeper是一種弱依賴(lài)關(guān)系,除了每次會(huì)去ZK拿數(shù)據(jù)以外,也會(huì)在本機(jī)文件系統(tǒng)上緩存一個(gè)workerID文件。一旦Zookeeper出現(xiàn)問(wèn)題,敲好機(jī)器出現(xiàn)故障需重啟時(shí),依然能夠保證服務(wù)正常啟動(dòng)。

優(yōu)點(diǎn): ID號(hào)碼是趨勢(shì)遞增的8 byte的64位數(shù)據(jù),滿(mǎn)足上述數(shù)據(jù)庫(kù)存儲(chǔ)的主鍵要求。

缺點(diǎn): 依賴(lài)Zookeeper, 存在服務(wù)不可用風(fēng)險(xiǎn)

http://m.aloenet.com.cn/news/31318.html

相關(guān)文章:

  • 一個(gè)人能建設(shè)一個(gè)公司網(wǎng)站嗎短視頻seo是什么
  • 南山網(wǎng)站建設(shè)網(wǎng)絡(luò)營(yíng)銷(xiāo)培訓(xùn)
  • 網(wǎng)站建設(shè)經(jīng)理網(wǎng)站關(guān)鍵詞在哪里看
  • 福建交通建設(shè)網(wǎng)站58黃頁(yè)網(wǎng)推廣公司
  • 桂林哪里可以做網(wǎng)站百度推廣區(qū)域代理
  • 招聘網(wǎng)站有哪些平臺(tái)洛陽(yáng)網(wǎng)站建設(shè)
  • 第三方網(wǎng)站下載素材是怎么做南寧優(yōu)化推廣服務(wù)
  • 注冊(cè)個(gè)網(wǎng)站要多少錢(qián)跟我學(xué)seo從入門(mén)到精通
  • 怎么增加網(wǎng)站訪問(wèn)量網(wǎng)站優(yōu)化培訓(xùn)學(xué)校
  • 網(wǎng)站 相對(duì)路徑國(guó)際軍事形勢(shì)最新消息
  • 甘肅城鄉(xiāng)建設(shè)局網(wǎng)站有什么引流客源的軟件
  • 做論壇和做網(wǎng)站有什么區(qū)別搜資源的搜索引擎
  • 網(wǎng)站視頻封面怎么做百度客服電話(huà)是多少
  • 上海網(wǎng)站建設(shè)公司 紅威網(wǎng)站制作免費(fèi)
  • 可視化導(dǎo)航網(wǎng)站源碼百度的排名規(guī)則詳解
  • 河南營(yíng)銷(xiāo)網(wǎng)站建設(shè)聯(lián)系方式搜索引擎有哪些分類(lèi)
  • 58同城煙臺(tái)網(wǎng)站建設(shè)國(guó)內(nèi)營(yíng)銷(xiāo)推廣渠道
  • 鄭州哪里做網(wǎng)站最好免費(fèi)的網(wǎng)站
  • 網(wǎng)站建設(shè) 源代碼神秘網(wǎng)站
  • wordpress怎么自動(dòng)生成內(nèi)鏈網(wǎng)站seo綜合診斷
  • 地圖網(wǎng)站怎么做建立網(wǎng)站流程
  • 上海網(wǎng)站建設(shè)領(lǐng)導(dǎo)品牌公司官網(wǎng)怎么做
  • 濰坊做網(wǎng)站多少錢(qián)重慶seo代理計(jì)費(fèi)
  • 建設(shè)項(xiàng)目公示網(wǎng)站百度百科詞條創(chuàng)建入口
  • 做腳本網(wǎng)站外貿(mào)網(wǎng)站建設(shè)推廣
  • 做實(shí)驗(yàn)用哪些國(guó)外網(wǎng)站南寧優(yōu)化網(wǎng)站收費(fèi)
  • 巫山集團(tuán)網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣外包怎么接單
  • 網(wǎng)站建設(shè)教程速成廣東seo推廣費(fèi)用
  • 網(wǎng)站認(rèn)領(lǐng)app推廣策劃方案
  • 福建建筑人才市場(chǎng)官網(wǎng)seo工具有哪些