偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

聊一聊Twitter的雪花算法

開(kāi)發(fā)
Twitter的雪花算法方法是一種在分布式系統(tǒng)中生成唯一ID的解決方案。Twitter在推文、私信、列表等方面使用這種方法。

什么是Twitter的雪花算法方法?

這是一種在分布式系統(tǒng)中生成唯一ID的解決方案。Twitter在推文、私信、列表等方面使用這種方法。

(1) ID是唯一且可排序的

(2) ID包含時(shí)間信息(按日期排序)

(3) ID適用于64位無(wú)符號(hào)整數(shù)

(4) 僅包含數(shù)字值

  • 符號(hào)位(1位):保留位(始終為0)。這可以為將來(lái)的請(qǐng)求保留。它可以潛在地用于使整體數(shù)字為正數(shù)。
  • 時(shí)間戳(41位):以毫秒為單位的紀(jì)元時(shí)間戳(雪花的默認(rèn)紀(jì)元等于2010年11月04日01:42:54 UTC)
  • 機(jī)器ID(10位):可容納1024臺(tái)機(jī)器
  • 序列號(hào)(12位):每臺(tái)機(jī)器上的本地計(jì)數(shù)器,每次增加1。該數(shù)字在每毫秒重置為0。從理論上講,一臺(tái)機(jī)器每秒最多可以支持4096(212)個(gè)新ID。

Twitter雪花算法方法的優(yōu)缺點(diǎn)

  • 它長(zhǎng)度為64位,是UUID的一半大小
  • 可擴(kuò)展性強(qiáng)(可容納1024臺(tái)機(jī)器)
  • 高可用性(每臺(tái)機(jī)器每毫秒可以生成4096個(gè)唯一ID)
  • 一些UUID版本不包含時(shí)間戳。在這種情況下,Twitter雪花算法具有可排序的優(yōu)勢(shì)。
  • 設(shè)計(jì)需要Zookeeper(缺點(diǎn))
  • 生成的ID不像UUID那樣是隨機(jī)的。將來(lái)的ID可以預(yù)測(cè)。
  • 41位中可以表示的最大時(shí)間戳(約69年)。需要在此之后找到解決方案 :)

使用注意事項(xiàng)

  • Discord使用雪花算法,將其紀(jì)元設(shè)置為2015年的第一秒。
  • Instagram使用了格式的修改版本,其中41位用于時(shí)間戳,13位用于分片ID,10位用于序列號(hào)。
  • Mastodon的修改格式具有48位的毫秒級(jí)時(shí)間戳,它使用了UNIX紀(jì)元。剩下的16位用于序列數(shù)據(jù)。
責(zé)任編輯:趙寧寧 來(lái)源: 小技術(shù)君
相關(guān)推薦

2023-12-12 07:13:39

雪花算法分布式ID

2021-01-29 08:32:21

數(shù)據(jù)結(jié)構(gòu)數(shù)組

2020-05-09 14:20:11

信息安全加密

2020-09-08 06:54:29

Java Gradle語(yǔ)言

2023-07-06 13:56:14

微軟Skype

2024-09-12 10:06:21

2018-06-07 13:17:12

契約測(cè)試單元測(cè)試API測(cè)試

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2021-12-06 09:43:01

鏈表節(jié)點(diǎn)函數(shù)

2021-03-01 18:37:15

MySQL存儲(chǔ)數(shù)據(jù)

2021-07-16 11:48:26

模型 .NET微軟

2021-08-01 09:55:57

Netty時(shí)間輪中間件

2024-10-28 21:02:36

消息框應(yīng)用程序

2023-09-27 16:39:38

2020-08-12 08:34:16

開(kāi)發(fā)安全We

2022-11-26 00:00:06

裝飾者模式Component

2022-10-08 11:33:56

邊緣計(jì)算云計(jì)算

2018-01-10 14:13:04

測(cè)試矩陣API測(cè)試
點(diǎn)贊
收藏

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