欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

mysql多條數(shù)據(jù)存到不同表id唯一分布式系統(tǒng)中的唯一ID生成

2024-01-21    分類: 網(wǎng)站建設(shè)

我們目前主流的服務(wù)端系統(tǒng)都是分布式的架構(gòu)。業(yè)務(wù)分布在不同的機(jī)器節(jié)點(diǎn)上產(chǎn)生數(shù)據(jù),數(shù)據(jù)也存儲(chǔ)在不同的機(jī)器節(jié)點(diǎn)。為了方便標(biāo)識(shí)數(shù)據(jù),我們使用 唯一且有序 的ID來標(biāo)識(shí)數(shù)據(jù)。即:

整個(gè)分布式系統(tǒng)中,新生成的ID永遠(yuǎn)不會(huì)產(chǎn)生與之前已經(jīng)生成的ID重復(fù);

生成的所有ID可以根據(jù)生成的時(shí)間進(jìn)行排序(生成時(shí)間晚的排序順序靠后)

我們來看一下市面上的幾種主流的ID生成方案。

一、Mysql 集群

由于我們的討論前提是分布式架構(gòu)的系統(tǒng),所以這里的 Mysql 我們默認(rèn)是集群版。

眾所周知,Mysql 有自帶的唯一ID機(jī)制,即自增主鍵,可以保證在同一個(gè)數(shù)據(jù)庫中,表內(nèi)生成的每一條記錄都是唯一且有序的。


但是如果放在分布式系統(tǒng)里面,我們用分庫/分表的架構(gòu)存儲(chǔ)記錄,那就會(huì)導(dǎo)致在系統(tǒng)中產(chǎn)生重復(fù)的ID。

如下圖,表1 2 3都是存儲(chǔ)相同記錄的不同表(可以在同一個(gè)數(shù)據(jù)庫里,也可以在不同數(shù)據(jù)庫里),表1 2 3都會(huì)產(chǎn)生id相同的數(shù)據(jù)。


為了解決這個(gè)問題,mysql 官方支持?jǐn)?shù)據(jù)庫 ID 生成時(shí)設(shè)置步長,可以保證不同數(shù)據(jù)庫中相同表的id唯一性。


如上圖,每個(gè)表都有 不同的起始id和相同的步長 ,這就能保證業(yè)務(wù)記錄Id的唯一性。

設(shè)置步長的方案雖然解決了id生成的唯一性,但是也有很大的缺點(diǎn)

不能保證ID的有序性和時(shí)間的強(qiáng)相關(guān)。(由于是分布式系統(tǒng),不能保證id=4的數(shù)據(jù)一定在id=3的數(shù)據(jù)后面生成)

每次新增加一個(gè)節(jié)點(diǎn),要重置所有節(jié)點(diǎn)的起始值和步長。

第二點(diǎn)只是數(shù)據(jù)庫管理會(huì)麻煩一些,但是第一點(diǎn)不能滿足我們對(duì)有序性的要求。

二、ID數(shù)據(jù)庫

這里泛指一套單獨(dú)維護(hù)的ID數(shù)據(jù)庫,目的是為了保證業(yè)務(wù)系統(tǒng)內(nèi)所有的ID的唯一性和有序性。

舉幾個(gè)例子,比如Mysql維護(hù)一條表記錄,Redis 維護(hù)一個(gè)key,zookeeper 維護(hù)一個(gè)序列號(hào)。當(dāng)所有業(yè)務(wù)都通過調(diào)用這些存儲(chǔ)服務(wù)來生成+獲取唯一ID的時(shí)候,就可以保證生成Id的唯一性和有序性。

缺點(diǎn):

需要資源單獨(dú)維護(hù)一個(gè)服務(wù)

如果ID數(shù)據(jù)庫掛掉,整個(gè)業(yè)務(wù)就會(huì)停擺。如果ID數(shù)據(jù)庫出現(xiàn)數(shù)據(jù)錯(cuò)亂,可能會(huì)影響到唯一性和有序性

總結(jié)一下就是,ID數(shù)據(jù)庫可以提供唯一有序的ID,但是有一定的維護(hù)成本且系統(tǒng)的風(fēng)險(xiǎn)很高。

三、雪花算法

SnowFlake是Twitter公司采用的一種算法,目的是在分布式系統(tǒng)中產(chǎn)生 全局唯一且整體遞增 的ID。

3.1 生成ID的結(jié)構(gòu)


3.2 生成原理

我們先看一下雪花ID的生成過程:

生成毫秒級(jí)別的時(shí)間戳,填充到 41bit 的位置

序列號(hào)默認(rèn)為 000000000000 。如果 新生成的時(shí)間戳上次生成的相等 ,序列號(hào)就會(huì) + 1。將序列號(hào)填充到 12bit 位置

存儲(chǔ)當(dāng)前生成的時(shí)間戳到內(nèi)存中,以便下次生成時(shí)判斷

獲取到當(dāng)前機(jī)器+進(jìn)程的唯一標(biāo)識(shí),填充到 10bit 的位置

通過上述整個(gè)流程我們可以看到,雪花算法可以確保唯一性,單機(jī)內(nèi)在同一毫秒生成的ID會(huì)有序列號(hào)的遞增,多機(jī)環(huán)境在同一毫秒生成的ID會(huì)有機(jī)器+進(jìn)程的唯一標(biāo)識(shí)。

但是無法保證強(qiáng)有序性,比如多個(gè)機(jī)器在同一毫秒內(nèi)生成的ID,就無法按照時(shí)間規(guī)則進(jìn)行排序

3.3 缺點(diǎn)

雪花算法除了無法實(shí)現(xiàn)嚴(yán)格按照時(shí)間的有序性之外,還有一個(gè)可能存在的風(fēng)險(xiǎn)點(diǎn),就是 單機(jī)時(shí)鐘回?fù)?。

如果一個(gè)機(jī)器之前已經(jīng)生成過ID,將機(jī)器的時(shí)間改為之前的時(shí)間,那么就有一定幾率會(huì)生成與之前相同的ID。

四、mongoDB 的唯一ID生成策略

mongo唯一ID生成策略——ObjectId,和雪花算法相似度極高。區(qū)別在于雪花算法要占用64個(gè)字節(jié),而 ObjectId 只需要占用 12個(gè)字節(jié),但是objectId只能存儲(chǔ)秒級(jí)別時(shí)間戳。

ObjectId如果用字符串表示則有24個(gè)字符,但實(shí)際上它是由一組十六進(jìn)制的字符構(gòu)成,每個(gè)字節(jié)兩位的十六進(jìn)制數(shù)字,總共用了12字節(jié)的存儲(chǔ)空間。


比如:6331500a7cac81af7136236b 這個(gè)ID

秒級(jí)時(shí)間戳
機(jī)器碼
進(jìn)程的pid
序號(hào)
mongoDB 的 ObjectId 和雪花算法一樣,無法實(shí)現(xiàn)嚴(yán)格按照時(shí)間的有序性,并且由于是秒級(jí)別的時(shí)間戳,所以不同機(jī)器生成的ID,不按照時(shí)間排序的可能性會(huì)大很多。而且如果單機(jī)時(shí)鐘回?fù)埽矔?huì)產(chǎn)生與之前重復(fù)的ID。

總結(jié)

特性/方案Mysql 集群ID數(shù)據(jù)庫雪花算法mongoDB ObjectId
唯一性:white_check_mark::white_check_mark::white_check_mark::white_check_mark:
按照生成時(shí)間的有序性:x::white_check_mark::x::x:
維護(hù)的難易程度較難易維護(hù)易維護(hù)

在分布式系統(tǒng)中:

以上四種方案都可以保證生成ID的唯一性
如果并發(fā)量很小的系統(tǒng),可以考慮 雪花算法/mongoDB ObjectId 方案來保證有序性
如果并發(fā)量很大,只能用ID數(shù)據(jù)庫來保證有序性,但是會(huì)比 雪花算法/mongoDB ObjectId 方案增加維護(hù)成本?

網(wǎng)站標(biāo)題:mysql多條數(shù)據(jù)存到不同表id唯一分布式系統(tǒng)中的唯一ID生成
地址分享:http://m.kartarina.com/news10/314710.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化軟件開發(fā)網(wǎng)站設(shè)計(jì)公司面包屑導(dǎo)航網(wǎng)站排名靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(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)

綿陽服務(wù)器托管
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
欧美性淫爽ww久久久久无| 成人动漫一区二区在线| 一区二区三区在线免费视频| 国产三级一区二区| 国产欧美日韩另类视频免费观看| 欧美成人精品1314www| 日韩欧美一区二区免费| 精品国产三级电影在线观看| 久久久久久久久一| 国产精品网站在线| 亚洲天堂久久久久久久| 一区二区高清在线| 午夜精品成人在线视频| 久久99热这里只有精品| 国产精品系列在线观看| 99久久免费视频.com| 一本到高清视频免费精品| 欧美吻胸吃奶大尺度电影| 欧美怡红院视频| 日韩一区二区三区电影在线观看| 欧美精品一区二区三区在线播放| 国产婷婷一区二区| 成人免费在线观看入口| 日韩成人免费在线| 国产成人日日夜夜| 欧美唯美清纯偷拍| 久久久久久一二三区| 综合久久综合久久| 蜜桃视频在线一区| 不卡一区二区三区四区| 欧美片网站yy| 国产精品美女一区二区| 日本亚洲欧美天堂免费| 97se亚洲国产综合自在线不卡| 91国偷自产一区二区开放时间| 91精品国产综合久久久久久久 | 日本欧洲一区二区| 国产成a人亚洲精| 欧美色爱综合网| 欧美tickling挠脚心丨vk| 亚洲色图欧美偷拍| 国精品**一区二区三区在线蜜桃 | 亚洲国产美国国产综合一区二区| 麻豆精品视频在线观看| av电影天堂一区二区在线观看| 欧美日韩精品综合在线| 中文字幕中文字幕在线一区| 视频一区二区三区在线| 91麻豆精品秘密| 国产欧美一区二区三区在线老狼| 秋霞午夜鲁丝一区二区老狼| 色狠狠av一区二区三区| www成人在线观看| 日韩二区三区在线观看| 色噜噜狠狠一区二区三区果冻| 久久久亚洲欧洲日产国码αv| 又紧又大又爽精品一区二区| 成人一区二区三区视频在线观看| 日韩欧美二区三区| 欧美a一区二区| 欧美三片在线视频观看| 亚洲乱码国产乱码精品精小说 | 欧美日韩极品在线观看一区| 亚洲欧洲综合另类| 成人动漫精品一区二区| 2023国产精品视频| 美国欧美日韩国产在线播放| 欧美精品第1页| 琪琪一区二区三区| 欧美日本免费一区二区三区| 亚洲一二三四在线观看| 欧美日韩在线免费视频| 亚洲综合成人在线| 91视频在线看| 悠悠色在线精品| 欧美午夜在线观看| 亚洲成人午夜影院| 欧美精品777| 男男成人高潮片免费网站| 欧美日韩国产首页| 天堂一区二区在线| 欧美一级黄色大片| 精品一区二区三区在线观看国产 | 欧美性生活久久| 性做久久久久久免费观看| 欧美日韩极品在线观看一区| 偷拍自拍另类欧美| 日韩女优电影在线观看| 国产精品99久久久久| 国产精品视频一二| 在线观看亚洲一区| 日本不卡免费在线视频| 精品国产免费一区二区三区四区| 国产成人综合亚洲网站| 亚洲精品国产一区二区精华液| 欧美日韩国产在线观看| 极品美女销魂一区二区三区 | 亚洲高清免费视频| 欧美xxxxxxxxx| 不卡的av在线| 五月婷婷激情综合网| 国产亚洲一区字幕| 在线观看日韩一区| 裸体健美xxxx欧美裸体表演| 欧美高清一级片在线观看| 日本韩国精品在线| 蜜臀精品一区二区三区在线观看 | 国产又黄又大久久| 中文字幕一区二区在线观看| 欧美日韩国产在线播放网站| 国产91在线|亚洲| 国产一区二区成人久久免费影院| 亚洲欧美日韩国产一区二区三区| 欧美一级淫片007| 成人高清视频在线观看| 奇米综合一区二区三区精品视频| 国产精品久久久久久久久久久免费看| 在线观看免费成人| 懂色av中文一区二区三区| 男人的天堂亚洲一区| 亚洲欧洲av一区二区三区久久| 91精品国产乱码久久蜜臀| 91亚洲大成网污www| 国产成人精品网址| 六月婷婷色综合| 五月天欧美精品| 亚洲欧美色综合| 亚洲国产精品v| 精品国产一区二区三区四区四| 欧美在线一区二区| 91丨国产丨九色丨pron| 国产精品系列在线观看| 麻豆精品在线看| 欧美aaaaaa午夜精品| 亚洲成人激情自拍| 一区二区欧美精品| 亚洲男人的天堂av| 亚洲欧洲国产专区| 中文字幕成人在线观看| 久久先锋影音av鲁色资源网| 欧美一区二区在线视频| 欧美另类久久久品| 欧美日韩精品欧美日韩精品一| 在线观看一区日韩| 欧美亚男人的天堂| 在线观看区一区二| 欧美伊人久久久久久午夜久久久久| 97se狠狠狠综合亚洲狠狠| av午夜一区麻豆| heyzo一本久久综合| 不卡一二三区首页| 色综合久久中文字幕| 99r国产精品| 色诱视频网站一区| 日本高清成人免费播放| 欧洲生活片亚洲生活在线观看| 久久九九久精品国产免费直播| 欧美成人精品1314www| 久久免费精品国产久精品久久久久| 日韩精品中文字幕在线一区| 日韩一卡二卡三卡四卡| 精品国产sm最大网站免费看| 精品欧美一区二区在线观看| 久久久久久一二三区| 国产精品丝袜一区| 亚洲在线观看免费视频| 午夜av一区二区| 国产一区二区在线视频| 成人app网站| 欧美日韩国产系列| 欧美精品一区二区三区很污很色的| 久久精品视频免费| 亚洲美女淫视频| 日韩国产欧美一区二区三区| 国产成人亚洲精品狼色在线| 91女厕偷拍女厕偷拍高清| 337p亚洲精品色噜噜狠狠| 久久久91精品国产一区二区精品| 亚洲欧洲av一区二区三区久久| 亚洲高清视频中文字幕| 国内精品视频666| 在线一区二区观看| 精品成人a区在线观看| 成人欧美一区二区三区1314| 日韩精品国产精品| 成a人片国产精品| 欧美一区欧美二区| 亚洲色图一区二区三区| 久99久精品视频免费观看| av在线这里只有精品| 欧美裸体一区二区三区| 国产精品天天看| www.欧美色图| 欧美精品一区二区在线播放| 亚洲一区二区在线免费看| 国产精品香蕉一区二区三区| 制服丝袜亚洲播放| 亚洲美女精品一区| 国产成人免费视频网站| 精品美女一区二区三区|