AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

聊聊 RocketMQ 名字服務

來源: 責編: 時間:2023-08-09 23:03:45 331觀看
導讀NameServer 是專為 RocketMQ 設計的輕量級名字服務,它的源碼非常精簡,八個類 ,少于1000行代碼。圖片這篇文章, 筆者會從基礎概念、Broker發送心跳包、NameServer 維護路由、Zookeeper vs NameServer 四個模塊揭秘名字服務

NameServer 是專為 RocketMQ 設計的輕量級名字服務,它的源碼非常精簡,八個類 ,少于1000行代碼。jJt28資訊網——每日最新資訊28at.com

圖片圖片jJt28資訊網——每日最新資訊28at.com

這篇文章, 筆者會從基礎概念、Broker發送心跳包、NameServer 維護路由、Zookeeper vs NameServer 四個模塊揭秘名字服務的設計精髓。jJt28資訊網——每日最新資訊28at.com

一、基礎概念

圖片圖片jJt28資訊網——每日最新資訊28at.com

1、Broker 會每隔 30 秒向所有的 NameServer 發送心跳命令 ;jJt28資訊網——每日最新資訊28at.com

使用 CountDownLatch 實現多線程同步,可以獲取發往所有的 NameServer 的心跳命令的響應結果jJt28資訊網——每日最新資訊28at.com

2、心跳命令包含兩個部分:請求頭和請求體jJt28資訊網——每日最新資訊28at.com

圖片圖片jJt28資訊網——每日最新資訊28at.com

三、NameServer 維護路由

NameServer 在接收到 Broker 發送的心跳請求之后,通過默認的處理器來處理請求,保存路由信息成功后,注冊成功狀態返回給 Broker 服務。jJt28資訊網——每日最新資訊28at.com

源碼中,我們可以看到路由信息保存在 HashMap 中 。jJt28資訊網——每日最新資訊28at.com

圖片圖片jJt28資訊網——每日最新資訊28at.com

2、讀操作:查詢主題信息,操作讀鎖jJt28資訊網——每日最新資訊28at.com

圖片圖片jJt28資訊網——每日最新資訊28at.com


我們可以將 NameServer 實現注冊中心的方式總結為:RPC 服務 + HashMap 存儲容器 + 讀寫鎖 + 定時任務 。jJt28資訊網——每日最新資訊28at.com

1、NameServer 監聽固定的端口,提供 RPC 服務jJt28資訊網——每日最新資訊28at.com

2、HashMap 作為存儲容器jJt28資訊網——每日最新資訊28at.com

3、讀寫鎖控制鎖的顆粒度jJt28資訊網——每日最新資訊28at.com

4、定時任務jJt28資訊網——每日最新資訊28at.com

  • 每個 Broker 每隔 30 秒注冊主題的路由信息到所有 NameServer
  • NameServer 定時任務每隔10 秒清除已宕機的 Broker , 判斷宕機的標準是:當前時間減去 Broker 最后一次心跳時間大于2分鐘

四、Zookeeper vs NameServer

那為什么 RocketMQ 不用 Zookeeper 做為注冊中心呢 ?jJt28資訊網——每日最新資訊28at.com

我們先溫習下 CAP 理論。jJt28資訊網——每日最新資訊28at.com

圖片圖片jJt28資訊網——每日最新資訊28at.com

CAP 理論是分布式架構中重要理論。jJt28資訊網——每日最新資訊28at.com

1、一致性( Consistency ) :所有節點在同一時間具有相同的數據 ;jJt28資訊網——每日最新資訊28at.com

2、可用性( Availability ) :保證每個請求不管成功或者失敗都有響應  (某個系統的某個節點掛了,但是并不影響系統的接受或者發出請求) ;jJt28資訊網——每日最新資訊28at.com

3、分隔容忍( Partition tolerance ) :系統中任意信息的丟失或失敗不會影響系統的繼續運作。 (在整個系統中某個部分,掛掉了,或者宕機了,并不影響整個系統的運作或者說使用) 。jJt28資訊網——每日最新資訊28at.com

Zookeeper 是一個典型的 CP 注冊中心 ,通過使 ZAB 協議來保證節點之間數據的強一致性。jJt28資訊網——每日最新資訊28at.com

筆者曾經遇到過一起神州專車服務宕機事故,zookeeper 集群不堪重負,一直在選主 。架構負責人修改了 zookeeper 的 jvm 參數,重啟集群后 , 才臨時解決了問題。jJt28資訊網——每日最新資訊28at.com

因為 MetaQ 集群和服務治理共用一組 zookeeper 集群 。jJt28資訊網——每日最新資訊28at.com

  • MetaQ 消費者負載均衡時,會頻繁的爭搶鎖 ,同時也會頻繁的提交 offset  ;
  • 專車的注冊服務也越來越多,注冊信息通過Hession 序列化存儲在 zookeeper 的節點。

為了減少 zookeeper 集群的性能壓力,架構團隊將 MetaQ 使用的 zookeeper 集群獨立出來。jJt28資訊網——每日最新資訊28at.com

這次事故讓我認識到:Zookeeper 作為 CP 注冊中心,大規模使用場景下,它就變得很脆弱,我們要非常小心的使用。jJt28資訊網——每日最新資訊28at.com

淘寶中間件博客出了一篇文章 :  阿里巴巴為什么不用 ZooKeeper 做服務發現 ?jJt28資訊網——每日最新資訊28at.com

文章有兩個觀點,筆者認為非常有借鑒意義。jJt28資訊網——每日最新資訊28at.com

1、當數據中心服務規模超過一定數量 ( 服務規模=F{服務 pub 數,服務 sub 數} ),作為注冊中心的 ZooKeeper 很快就會像下圖的驢子一樣不堪重負。jJt28資訊網——每日最新資訊28at.com

2、可以使用 ZooKeeper,但是大數據請向左,而交易則向右,分布式協調向左,服務發現向右。jJt28資訊網——每日最新資訊28at.com

相比 ZooKeeper ,NameServer 是一個典型的 AP 注冊中心,它有如下優點:jJt28資訊網——每日最新資訊28at.com

1、代碼不到 1000 行,實現簡單,易于維護 ;jJt28資訊網——每日最新資訊28at.com

2、性能極好,除了網絡消耗,基本都是本地內存操作 ;jJt28資訊網——每日最新資訊28at.com

3、服務都是無狀態,且節點之間并不交互,運維簡單;jJt28資訊網——每日最新資訊28at.com

RocketMQ 的設計者之所以選擇自研名字服務,遵循著架構設計的準則,筆者總結為:簡單、高效、適當妥協。jJt28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-5193-0.html聊聊 RocketMQ 名字服務

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 你的Java程序還在使用阻塞式I/O嗎?試試NIO多路復用提高性能!

下一篇: 圖解算法,原理逐步揭開「GitHub 熱點速覽」

標簽:
  • 熱門焦點
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • SpringBoot中使用Cache提升接口性能詳解

    環境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架從 3.1 開始,對 Spring 應用程序提供了透明式添加緩存的支持。和事務支持一樣,抽象緩存允許一致地使用各
  • 企業采用CRM系統的11個好處

    客戶關系管理(CRM)軟件可以為企業提供很多的好處,從客戶保留到提高生產力。  CRM軟件用于企業收集客戶互動,以改善客戶體驗和滿意度?! RM軟件市場規模如今超過580
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 小米公益基金會捐贈2500萬元馳援北京、河北暴雨救災

    8月2日消息,今日小米科技創始人雷軍在其微博上發布消息稱,小米公益基金會宣布捐贈2500萬元馳援北京、河北暴雨救災。攜手抗災,京冀安康!以下為公告原文
  • 三星推出Galaxy Tab S9系列平板電腦以及Galaxy Watch6系列智能手表

    2023年7月26日,三星電子正式發布了Galaxy Z Flip5與Galaxy Z Fold5。除此之外,Galaxy Tab S9系列平板電腦以及三星Galaxy Watch6系列智能手表也同期
  • 蘋果MacBook Pro 2021測試:仍不支持平滑滾動

    據10月30日9to5 Mac 消息報道,蘋果新的 14 英寸和 16 英寸 MacBook Pro 2021 上市后獲得了不錯的評價,亮點包括行業領先的性能,令人印象深刻的電池續航,精美豐
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀。  美國時間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內容審核等。此前,T
Top