亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺析redis cluster介紹與gossip協(xié)議

 更新時間:2020年09月08日 08:37:31   作者:MrMirror  
這篇文章主要介紹了redis cluster介紹與gossip協(xié)議,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、redis cluster 介紹

  • 自動將數(shù)據(jù)進行分片,每個 master 上放一部分數(shù)據(jù)
  • 提供內(nèi)置的高可用支持,部分 master 不可用時,還是可以繼續(xù)工作的

redis cluster架構(gòu)下的每個redis都要開放兩個端口號,比如一個是6379,另一個就是加1w的端口號16379。

  • 6379端口號就是redis服務(wù)器入口。
  • 16379端口號是用來進行節(jié)點間通信的,也就是 cluster bus 的東西,cluster bus 的通信,用來進行故障檢測、配置更新、故障轉(zhuǎn)移授權(quán)。cluster bus 用的是一種叫g(shù)ossip 協(xié)議的二進制協(xié)議,用于節(jié)點間高效的數(shù)據(jù)交換,占用更少的網(wǎng)絡(luò)帶寬和處理時間。

二、節(jié)點間的內(nèi)部通信機制

集群元數(shù)據(jù)的維護有兩種方式:集中式、Gossip 協(xié)議。
redis cluster 節(jié)點間采用 gossip 協(xié)議進行通信。

1. 集中式

將集群元數(shù)據(jù)集中存儲在一個節(jié)點上。典型代表是大數(shù)據(jù)領(lǐng)域的 storm。它是分布式的大數(shù)據(jù)實時計算引擎,是集中式的元數(shù)據(jù)存儲的結(jié)構(gòu),底層基于 zookeeper對所有元數(shù)據(jù)進行存儲維護。

優(yōu)點

元數(shù)據(jù)的讀取和更新時效性非常好,元數(shù)據(jù)的變更都能立即更新到集中式存儲節(jié)點中,其它節(jié)點讀取的時候就可以感知到;

缺點

所有的元數(shù)據(jù)的更新壓力全部集中在一個地方,可能會導(dǎo)致元數(shù)據(jù)的存儲有壓力。

2. gossip 協(xié)議

redis 維護集群元數(shù)據(jù)采用的是gossip 協(xié)議,所有節(jié)點都持有一份元數(shù)據(jù),不同的節(jié)點如果出現(xiàn)了元數(shù)據(jù)的變更,就不斷將元數(shù)據(jù)發(fā)送給其它的節(jié)點,讓其它節(jié)點也進行元數(shù)據(jù)的變更。

優(yōu)點

元數(shù)據(jù)的更新比較分散,不是集中在一個地方,降低了壓力;

缺點

元數(shù)據(jù)的更新有延時,可能導(dǎo)致集群中的一些操作會有一些滯后。


三、深入剖析gossip 協(xié)議

gossip 協(xié)議包含多種消息,包含 ping、pong、meet、fail等等。

meet:某個節(jié)點在內(nèi)部發(fā)送了一個gossip meet 消息給新加入的節(jié)點,通知那個節(jié)點去加入我們的集群。然后新節(jié)點就會加入到集群的通信中

redis-trib.rb add-node
  • ping:每個節(jié)點都會頻繁給其它節(jié)點發(fā)送 ping,其中包含自己的狀態(tài)還有自己維護的集群元數(shù)據(jù),互相通過 ping 交換元數(shù)據(jù)。
  • pong:ping 和 meet消息的返回響應(yīng),包含自己的狀態(tài)和其它信息,也用于信息廣播和更新。
  • fail:某個節(jié)點判斷另一個節(jié)點 fail 之后,就發(fā)送 fail 給其它節(jié)點,通知其它節(jié)點說這個節(jié)點已宕機。

繼續(xù)深入剖析ping消息

  • ping 時要攜帶一些元數(shù)據(jù),如果很頻繁,可能會加重網(wǎng)絡(luò)負擔(dān)。因此,一般每個節(jié)點每秒會執(zhí)行 10 次 ping,每次會選擇 5 個最久沒有通信的其它節(jié)點。
  • 當(dāng)然如果發(fā)現(xiàn)某個節(jié)點通信延時達到了 cluster_node_timeout / 2,那么立即發(fā)送 ping,避免數(shù)據(jù)交換延時過長導(dǎo)致信息嚴重滯后。比如說,兩個節(jié)點之間都 10 分鐘沒有交換數(shù)據(jù)了,那么整個集群處于嚴重的元數(shù)據(jù)不一致的情況,就會有問題。所以 cluster_node_timeout 可以調(diào)節(jié),如果調(diào)得比較大,那么會降低 ping 的頻率。
  • 每次 ping,會帶上自己節(jié)點的信息,還有就是帶上 1/10 其它節(jié)點的信息,發(fā)送出去,進行交換。至少包含 3 個其它節(jié)點的信息,最多包含 總節(jié)點數(shù)減 2 個其它節(jié)點的信息。

10000 端口:
每個節(jié)點都有一個專門用于節(jié)點間通信的端口,就是自己提供服務(wù)的端口號+10000,比如 6379,那么用于節(jié)點間通信的就是16379端口。每個節(jié)點每隔一段時間都會往另外幾個節(jié)點發(fā)送 ping 消息,同時其它幾個節(jié)點接收到 ping 之后返回 pong。
交換的信息:信息包括故障信息,節(jié)點的增加和刪除,hash slot 信息等等。

總結(jié)

到此這篇關(guān)于redis cluster介紹與gossip協(xié)議的文章就介紹到這了,更多相關(guān)redis cluster和gossip協(xié)議內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Redis server 主從復(fù)制配置實現(xiàn)

    Redis server 主從復(fù)制配置實現(xiàn)

    從復(fù)制是指將一個Redis服務(wù)器的數(shù)據(jù)復(fù)制到其他Redis服務(wù)器的過程,本文主要介紹了Redis server 主從復(fù)制配置實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Redis利用Pipeline加速查詢速度的方法

    Redis利用Pipeline加速查詢速度的方法

    這篇文章主要給大家介紹了關(guān)于Redis利用Pipeline加速查詢速度的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺析Redis底層數(shù)據(jù)結(jié)構(gòu)Dict

    淺析Redis底層數(shù)據(jù)結(jié)構(gòu)Dict

    Redis是一個鍵值型的數(shù)據(jù)庫,我們可以根據(jù)鍵實現(xiàn)快速的增刪改查,而鍵與值的映射關(guān)系正是通過Dict來實現(xiàn)的,當(dāng)然?Dict?也是?Set?Hash?的實現(xiàn)方式,本文就詳細帶大家介紹一下Redis底層數(shù)據(jù)結(jié)構(gòu)?Dict,,需要的朋友可以參考下
    2023-05-05
  • Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式

    Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式

    這篇文章主要介紹了Redis集群指定主從關(guān)系及動態(tài)增刪節(jié)點方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • jwt+redis實現(xiàn)登錄認證的示例代碼

    jwt+redis實現(xiàn)登錄認證的示例代碼

    在登錄業(yè)務(wù)代碼中,當(dāng)用戶登錄成功時,生成一個登錄憑證存儲到redis中,本文主要介紹了jwt+redis實現(xiàn)登錄認證的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Redis分布式鎖解決秒殺超賣問題

    Redis分布式鎖解決秒殺超賣問題

    本文主要介紹了Redis分布式鎖解決秒殺超賣問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 詳談redis優(yōu)化配置和redis.conf說明(推薦)

    詳談redis優(yōu)化配置和redis.conf說明(推薦)

    下面小編就為大家?guī)硪黄斦剅edis優(yōu)化配置和redis.conf說明(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Redis+aop實現(xiàn)接口防刷(冪等)的解決方案

    Redis+aop實現(xiàn)接口防刷(冪等)的解決方案

    在高并發(fā)場景下,可能會因為網(wǎng)絡(luò)或者服務(wù)器原因,造成延遲,同時就是有可能會有人用腳本大量訪問你的接口,造成資源崩潰,所以本文給大家介紹了Redis+aop實現(xiàn)接口防刷(冪等)的解決方案,需要的朋友可以參考下
    2024-03-03
  • 使用注解實現(xiàn)Redis緩存功能

    使用注解實現(xiàn)Redis緩存功能

    這篇文章主要為大家詳細介紹了使用注解實現(xiàn)Redis緩存功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Redis如何部署哨兵

    Redis如何部署哨兵

    本文主要介紹了Redis如何部署哨兵,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論