44. 源代碼解讀-RocketMQ-架構

1. 前言

1.1 github源代碼

https://github.com/apache/rocketmq

1.2 github其他客戶端,比如c++,php

https://github.com/apache/rocketmq-externals

1.3 運行進程

RocketMQ分成兩個進程運行

  • Namesrv
  • Broker

Namesrv,命名服務,主要負責Broker狀態管理,Topic路由信息查詢等等,端口是9876
Broker負責消息存儲,轉發,等等,一般占用3個端口
10911 -- Broker主邏輯端口
10912 -- 持久化端口
10909 -- vip端口

另外,Namesrv可以集群配置,各個Namesrv之間是對等的,彼此不通信,不需要互相通信。
Broker可以以單master, 多master,多master多slave等多種方式運行。

2. 代碼結構

2.1 代碼模塊

44. 源代碼解讀-RocketMQ-架構

2.2 模塊簡介

  1. rocketmq-broker 主要的業務邏輯,消息收發,主從同步, pagecache等等
  2. rocketmq-client 客戶端接口,比如生產者和消費者。pull和push消費模式,消息負載均衡等等。
  3. rocketmq-common 公用數據結構等等
  4. rocketmq-distribution 編譯模塊,編譯輸出等
  5. rocketmq-example 示例,比如生產者和消費者
  6. rocketmq-fliter
  7. rocketmq-flitersrv
  8. rocketmq-logappender 日志相關
  9. rocketmq-namesrv Namesrv服務
  10. rocketmq-openmessaging
  11. rocketmq-remoting 遠程調用接口,封裝Netty,主要是NettyRemotingServer和NettyRemotingClient
  12. rocketmq-srvutil server util,提供一些公用的工具方法,比如解析命令行參數
  13. rocketmq-store 消息存儲
  14. rocketmq-test 測試
  15. rocketmq-tools 管理工具,比如有名的mqadmin工具

轉載于:https://blog.51cto.com/483181/2043857

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256224.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256224.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256224.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jquery檢測瀏覽器類型

使用jquery如下代碼檢測瀏覽器版本時:出問題,在檢測IE瀏覽器,如果版本是IE11時,會出現 $.browser.msie的返回值是false,$.browser.mozilla的返回值是true,即把IE11檢測成火狐了 結局辦法 判斷IE瀏覽器用 …

【leetcode?python】 9. Palindrome Number

#回文數#Method1:將整數轉置和原數比較,一樣就是回文數;負數不是回文數#這里反轉整數時不需要考慮溢出,但不代表如果是C/C等語言也不需要考慮class Solution(object): def isPalindrome(self, x): """ …

Pytorch基礎(一) —— tensorboard的應用

一、簡介與安裝方法 1.1 概念 Tensorboard 是 TensorFlow 的一個工具包,用于展示網絡圖、張量的指標變化和分布情況,如權重W、偏置B、卷積層數、全連接層數等參數,使用該工具可以方便觀察神經網絡訓練過程,分析學習模型訓練的效…

“RuntimeWarning: overflow encountered in ubyte_scalars像素加減運算溢出異常”原因以及解決辦法

轉載本文請注明詳細地址本文介紹了像素點相加減溢出的原因與解決方法 目錄 原因: 解決方法: 原因: 這個問題一般是會出現在圖像處理像素的加減中,出現的原因是因為圖片的像素一般是八位即最大值是256,最小值是0&…

二叉樹重建

一、已知先序遍歷和中序遍歷。求后序遍歷。http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId944 依據先序遍歷和中序遍歷還原二叉樹的主要思想: 1、先序遍歷序列的第一個元素必然是根節點,能夠由此獲取二叉樹的根節點。 2、依據根節點&…

asyn4j -- java 異步方法調用框架

asyn4j 是一個java異步方法調用框架,基于消費者與生產者模式。包括了異步方法執行,異步回調執行,異步工作緩存模塊.支持Spring. 讓我們寫異步方法不再寫很多的相關多線程代碼。用asyn4j輕松搞定異步方法調用.提高程序的響應能力.轉載于:https…

Pytorch基礎(二)—— Transforms詳解

一、概念 Transforms是pytorch的圖像處理工具包,是torchvision模塊下的一個一個類的集合,可以對圖像或數據進行格式變換,裁剪,縮放,旋轉等,在進行深度學習項目時用途很廣泛。下面對Transforms內的常見類的…

圖像基本處理算法的簡單實現(二)

圖像基本處理算法的簡單實現(一) 圖像基本處理算法的簡單實現(二) 4)膨脹腐蝕 屬于什么心態學,膨脹、腐蝕、擊中/擊不中變換、細化…(又暈了T^T)。簡單點好像就是集合運算&#xff0…

【WIN10】WIN2D——基本圖形的繪製

DEMO下載地址:http://yunpan.cn/c3iNuHFFAcr8h (提取碼:8e48) 先看一個截圖: 繪製了一些基本形狀。 DEMO的繪製代碼都非常簡單,不想在博客裡細說了,看代碼更為清晰些。 可能繪製扇形的代碼有些麻…

python socket 網絡編程

socket 套接字:網絡接口。 我們在網絡上需要傳輸自己需要的數據,我們在網絡上傳輸數據使用的是網絡協議, 而套接字就是我們將數據從本地采用協議傳輸的接口 socket模型: socket族: #AF_UNIX 被使用在類unix系統之間進行…

C# 并行運算方法簡析

一、概述 首先應該明白并行和并發的區別。 并發就是有多個幾乎同時到達的線程需要被處理,但只有有限個CPU,所以需要競爭上崗。 并行指有多個CPU資源同時處理多個線程,不存在競爭的概念,可以大量節省運行時間。 二、實現方法 C#…

強烈建議使用國外DNS解析域名,解決訪問速度和某些訪問故障!

域名解析的基本原理是把域名翻譯成IP地址,以便計算機能夠進一步通信,傳遞網址和內容等。  域名劫持就是在劫持的網絡范圍內攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則直接返回假的IP地址或者…

Windows 8 系統快捷鍵熱鍵列表收集

值得收藏參考的 Windows 8 系統快捷鍵熱鍵列表收集大全匯總,鍵盤黨效率黨必備啊! 相信不少喜歡接觸新鮮軟件的同學都已經給電腦安裝上Windows 8 操作系統了吧!這個系統優秀與否我們暫且不討論,作為一個鍵盤黨,學習了解…

格式化字符串使用

#codingutf-8 可以指定所需長度的字符串的對齊方式: < &#xff08;默認&#xff09;左對齊 > 右對齊 ^ 中間對齊 &#xff08;只用于數字&#xff09;在小數點后進行補齊 print 1:\t|{0:>10},.format(wangyu) print 2:\t|{0:4.2f}.format(1.1415926) print 3:\t|,…

Python中利用plt顯示中文標題解決方案

解決方法 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False plt.title(灰度級別頻率圖) plt.show()

Pytorch基礎(三)—— DataSet的應用

一、概念 Pytorch的標準數據集包括很多種類型&#xff0c;如CIFAR&#xff0c;COCO&#xff0c;KITTI&#xff0c;MNIST等&#xff0c;我們可以在官網查看。當然我們也可以做數據集&#xff0c;但需要自己標注。 二、如何調用數據集 一、調用torchvision 在程序中調用torch…

【圖像處理】——Python霍夫變換之直線檢測(主要是兩個函數HoughlinesHoughlinesP)

目錄 一、原理(摘自《數字圖像處理岡薩雷斯》) 2、Python函數 參數詳解 3、效果 4、實

實驗五實驗報告

實 驗 報 告 課程&#xff1a;信息安全系統設計基礎 班級&#xff1a; 1353 姓名&#xff1a;魏靜靜 劉虹辰 文藝 學號&#xff1a;20135302 20135325 20135331 成績&#xff1a; 指導教師&#xff1a;婁佳鵬 實驗日期&#xff1a…

Eclipse快捷鍵 10個最有用的快捷鍵

Eclipse中10個最有用的快捷鍵組合 一個Eclipse骨灰級開發者總結了他認為最有用但又不太為人所知的快捷鍵組合。通過這些組合可以更加容易的瀏覽源代碼&#xff0c;使得整體的開發效率和質量得到提升。 1. ctrlshiftr&#xff1a;打開資源 這可能是所有快捷鍵組合中最省時間的了…