成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

分布式ID生成之雪花算法

開發(fā) 前端 分布式 算法
分布式唯一ID的方案有很多,本文主要討論了雪花算法,組成結(jié)構(gòu)大致分為了無效位、時(shí)間位、機(jī)器位和序列號(hào)位。

唯一ID可以標(biāo)識(shí)數(shù)據(jù)的唯一性,在分布式系統(tǒng)中生成唯一ID的方案有很多,常見的方式大概有以下三種:

  • 依賴數(shù)據(jù)庫(kù),使用如MySQL自增列或Oracle序列等。
  • UUID隨機(jī)數(shù)
  • snowflake雪花算法(本文將要討論)

一、數(shù)據(jù)庫(kù)和UUID方案的不足之處

采用數(shù)據(jù)庫(kù)自增序列:

  • 讀寫分離時(shí),只有主節(jié)點(diǎn)可以進(jìn)行寫操作,可能有單點(diǎn)故障的風(fēng)險(xiǎn)
  • 分表分庫(kù),數(shù)據(jù)遷移合并等比較麻煩

UUID隨機(jī)數(shù):

  • 采用無意義字符串,沒有排序
  • UUID使用字符串形式存儲(chǔ),數(shù)據(jù)量大時(shí)查詢效率比較低

二、關(guān)于雪花算法

有這么一種說法,自然界中并不存在兩片完全一樣的雪花的。每一片雪花都擁有自己漂亮獨(dú)特的形狀、獨(dú)一無二。雪花算法也表示生成的ID如雪花般獨(dú)一無二。

分布式ID生成--雪花算法

1. 雪花算法概述

雪花算法生成的ID是純數(shù)字且具有時(shí)間順序的。其原始版本是scala版,后面出現(xiàn)了許多其他語(yǔ)言的版本如Java、C++等。

2. 組成結(jié)構(gòu)

分布式ID生成--雪花算法

大致由:首位無效符、時(shí)間戳差值,機(jī)器(進(jìn)程)編碼,序列號(hào)四部分組成。

3. 特點(diǎn)(自增、有序、適合分布式場(chǎng)景)

  • 時(shí)間位:可以根據(jù)時(shí)間進(jìn)行排序,有助于提高查詢速度。
  • 機(jī)器id位:適用于分布式環(huán)境下對(duì)多節(jié)點(diǎn)的各個(gè)節(jié)點(diǎn)進(jìn)行標(biāo)識(shí),可以具體根據(jù)節(jié)點(diǎn)數(shù)和部署情況設(shè)計(jì)劃分機(jī)器位10位長(zhǎng)度,如劃分5位表示進(jìn)程位等。
  • 序列號(hào)位:是一系列的自增id,可以支持同一節(jié)點(diǎn)同一毫秒生成多個(gè)ID序號(hào),12位的計(jì)數(shù)序列號(hào)支持每個(gè)節(jié)點(diǎn)每毫秒產(chǎn)生4096個(gè)ID序號(hào)

snowflake算法可以根據(jù)項(xiàng)目情況以及自身需要進(jìn)行一定的修改。

分布式ID生成--雪花算法

三、雪花算法的缺點(diǎn)

雪花算法在單機(jī)系統(tǒng)上ID是遞增的,但是在分布式系統(tǒng)多節(jié)點(diǎn)的情況下,所有節(jié)點(diǎn)的時(shí)鐘并不能保證不完全同步,所以有可能會(huì)出現(xiàn)不是全局遞增的情況。

四、總結(jié)

分布式唯一ID的方案有很多,本文主要討論了雪花算法,組成結(jié)構(gòu)大致分為了無效位、時(shí)間位、機(jī)器位和序列號(hào)位。其特點(diǎn)是自增、有序、純數(shù)字組成查詢效率高且不依賴于數(shù)據(jù)庫(kù)。適合在分布式的場(chǎng)景中應(yīng)用,可根據(jù)需求調(diào)整具體實(shí)現(xiàn)細(xì)節(jié)。

 

責(zé)任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-02-23 07:09:30

分布式ID雪花算法

2023-12-12 07:13:39

雪花算法分布式ID

2024-11-19 15:55:49

2024-02-02 10:57:12

Java分布式算法

2023-12-13 09:35:52

算法分布式

2017-07-01 16:02:39

分布式ID生成器

2020-07-21 11:35:21

開發(fā)技能代碼

2016-11-29 09:12:21

數(shù)據(jù)庫(kù)分布式ID

2022-01-27 10:06:29

生成算法分布式

2024-10-24 09:22:30

2024-12-04 09:36:37

2019-07-12 09:14:07

分布式系統(tǒng)負(fù)載均衡

2024-12-04 08:38:29

2018-07-17 08:14:22

分布式分布式鎖方位

2025-03-28 10:27:29

2021-03-04 17:55:27

算法Raft分布式

2022-06-16 07:31:15

MySQL服務(wù)器服務(wù)

2023-03-05 18:23:38

分布式ID節(jié)點(diǎn)

2023-11-10 08:22:09

雪花算法生成算法分布式

2025-05-15 03:00:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 中文字幕黄色大片 | 免费看黄色小视频 | 久久99深爱久久99精品 | 成人不卡 | 国产精品一区在线 | 国内自拍偷拍 | 色网在线看 | 亚洲国产一区二区视频 | 日韩三区 | 一区二区三区视频 | 日韩欧美精品在线 | 日本久久久久久 | 粉嫩国产精品一区二区在线观看 | 国产欧美久久精品 | 91视频a | 日韩欧美视频网站 | 欧洲视频一区二区 | 国产精品美女久久久久久免费 | 精品国产不卡一区二区三区 | 国产福利视频导航 | 视频一区二区中文字幕 | 国产精品久久久久久久久久久久午夜片 | 日本国产高清 | 久久久91精品国产一区二区三区 | 成人免费看电影 | 中文字幕第一页在线 | 午夜影视免费片在线观看 | 欧美在线视频一区二区 | 国产aⅴ精品| 女同久久另类99精品国产 | 亚洲欧美精品久久 | 美日韩中文字幕 | 91一区二区三区在线观看 | 男女羞羞视频在线免费观看 | 久草免费在线视频 | 亚洲欧美一区二区三区视频 | 国产激情毛片 | 中文字幕精品一区 | 国产精品99久久久久久人 | 国产精品一区二区不卡 | 欧美久久精品一级c片 |