自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

算法之什么是一致性哈希?

開(kāi)發(fā) 前端 算法
一致性哈希是一種哈希算法,就是在移除或者增加一個(gè)結(jié)點(diǎn)時(shí),能夠盡可能小的改變已存在key的映射關(guān)系盡可能少的改變已有的映射關(guān)系,一般是沿著順時(shí)針進(jìn)行操作

[[413431]]

一致性哈希

一致性哈希是一種哈希算法,就是在移除或者增加一個(gè)結(jié)點(diǎn)時(shí),能夠盡可能小的改變已存在key的映射關(guān)系盡可能少的改變已有的映射關(guān)系,一般是沿著順時(shí)針進(jìn)行操作,回答之前可以先想想,真實(shí)情況如何處理一致性哈希將整個(gè)哈希值空間組織成一個(gè)虛擬的圓環(huán),假設(shè)哈希函數(shù)的值空間為0~2^32-1,整個(gè)哈希空間環(huán)如下左圖所示

什么是一致性哈希?

一致性hash的基本思想就是使用相同的hash算法將數(shù)據(jù)和結(jié)點(diǎn)都映射到圖中的環(huán)形哈希空間中,上右圖顯示了4個(gè)數(shù)據(jù)object1-object4在環(huán)上的分布圖

結(jié)點(diǎn)和數(shù)據(jù)映射

假如有一批服務(wù)器,可以根據(jù)IP或者主機(jī)名作為關(guān)鍵字進(jìn)行哈希,根據(jù)結(jié)果映射到哈希環(huán)中,3臺(tái)服務(wù)器分別是nodeA-nodeC

現(xiàn)在有一批的數(shù)據(jù)object1-object4需要存在服務(wù)器上,則可以使用相同的哈希算法對(duì)數(shù)據(jù)進(jìn)行哈希,其結(jié)果必然也在環(huán)上,可以沿著順時(shí)針?lè)较驅(qū)ふ?,找到一個(gè)結(jié)點(diǎn)(服務(wù)器)則將數(shù)據(jù)存在這個(gè)結(jié)點(diǎn)上,這樣數(shù)據(jù)和結(jié)點(diǎn)就產(chǎn)生了一對(duì)一的關(guān)聯(lián),如下圖所示:

什么是一致性哈希?

移除結(jié)點(diǎn)

如果一臺(tái)服務(wù)器出現(xiàn)問(wèn)題,如上圖中的nodeB,則受影響的是其逆時(shí)針?lè)较蛑料乱粋€(gè)結(jié)點(diǎn)之間的數(shù)據(jù),只需將這些數(shù)據(jù)映射到它順時(shí)針?lè)较虻牡谝粋€(gè)結(jié)點(diǎn)上即可,下左圖

什么是一致性哈希?

1566573901641

添加結(jié)點(diǎn)

如果新增一臺(tái)服務(wù)器nodeD,受影響的是其逆時(shí)針?lè)较蛑料乱粋€(gè)結(jié)點(diǎn)之間的數(shù)據(jù),將這些數(shù)據(jù)映射到nodeD上即可,見(jiàn)上右圖

虛擬結(jié)點(diǎn)

假設(shè)僅有2臺(tái)服務(wù)器:nodeA和nodeC,nodeA映射了1條數(shù)據(jù),nodeC映射了3條,這樣數(shù)據(jù)分布是不平衡的。引入虛擬結(jié)點(diǎn),假設(shè)結(jié)點(diǎn)復(fù)制個(gè)數(shù)為2,則nodeA變成:nodeA1和nodeA2,nodeC變成:nodeC1和nodeC2,映射情況變成如下:

什么是一致性哈希?

這樣數(shù)據(jù)分布就均衡多了,平衡性有了很大的提高

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2020-07-20 08:30:37

算法哈希分布式系統(tǒng)

2019-11-01 09:13:37

算法哈希緩存

2021-02-05 08:00:48

哈希算法?機(jī)器

2016-12-19 18:41:09

哈希算法Java數(shù)據(jù)

2021-02-02 12:40:50

哈希算法數(shù)據(jù)

2018-07-05 09:41:08

一致性哈希算法

2023-12-12 08:00:50

節(jié)點(diǎn)哈希算法

2023-12-20 08:11:02

Redis節(jié)點(diǎn)通信

2021-09-15 07:46:42

哈希一致性哈希算法

2023-06-25 09:44:00

一致性哈希數(shù)據(jù)庫(kù)

2021-05-19 21:50:46

Hash算法測(cè)試

2023-06-26 07:17:48

負(fù)載均衡策略Dubbo

2022-03-22 09:54:22

Hash算法

2017-07-25 14:38:56

數(shù)據(jù)庫(kù)一致性非鎖定讀一致性鎖定讀

2021-11-12 08:38:26

一致性哈希算法數(shù)據(jù)結(jié)構(gòu)

2023-12-05 14:44:01

2022-01-27 08:31:20

一致性哈希

2022-11-10 07:49:09

hash算法代碼

2019-10-11 23:27:19

分布式一致性算法開(kāi)發(fā)

2020-03-16 11:55:28

PaxosRaft協(xié)議
點(diǎn)贊
收藏

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