網易雲課堂學習 rocketmq入門

2021-10-07 02:16:59 字數 2105 閱讀 1590

rocketmq是什麼

是由阿里捐贈給apache的一款分布式、佇列模型的開源訊息中介軟體,經歷了雙十一的洗禮。

rocketmq的發展史

rocketmq的特性

rocketmq 基本概念

producer:

訊息生產者,負責生產訊息,一般有業務系統負責生產訊息。

consumer:

訊息消費者,負責消費訊息,一般是後台系統負責非同步消費。

push consumer:

封裝訊息拉取,消費程序和內部

pull consumer:

主動拉取訊息,一旦拉取到訊息,應用的消費程序進行初始化。

producer group:

一類producer的集合名稱,這類producer通常傳送這一類訊息,且傳送邏輯一致。

consumer group:

一類consumer的集合名稱,這類consumer通常消費這一類訊息,且消費邏輯一致。

broker:

訊息中轉角色,負責儲存訊息、傳送訊息,這裡就是rocketmq server。

topic:

訊息的主題,在服務端定義和配置,消費者可以按照主題進行訂閱,也就是訊息分類,通常乙個系統乙個topic。

message:

在生產者、消費者、伺服器之間傳遞的訊息,乙個message必屬於乙個topic。

namesrv:

乙個無狀態的名稱服務,可以集群部署,每乙個broker啟動的時候都會向名稱伺服器註冊,要是接受broker的註冊,接受客戶端的路由請求並返回路由資訊。

partition:

分割槽,topic物理上的分組,乙個topic可以分為多個分割槽,每個分割槽就是乙個有序的佇列。分割槽中的 每條訊息都會分配給乙個有序的id,即偏移量。

tag:

用於對訊息進行過濾,理解為message的標記,同一業務不同目的的message可以用相同的topic,但是可以用tag來區分。

key:

訊息的key欄位是為了唯一表示訊息,方便查問題,不是說必須設定,設定了可以方便開發和運維定位問題。比如,這個key可以是訂單id等。

環境準備

centos7 jdk1.8

wget

解壓:

unzip -d /usr/rocketmq-all-4.3.2-bin-release.zip

mv /usr/rocketmq-all-4.3.2-bin-release /usr/rocketmq

啟動nameserver:

nohup sh bin/mqnamesrv > ~/logs/rocketmqlogs/namesrv.log 2>&1 &

啟動broker

nohup sh bin/mqbroker -n localhost:9876 > ~/logs/rocketmqlogs/broker.log 2>&! &

停止 broker

bin/mqshutdown broker

停止 nameserver

bin/mqshutdown namesrv

驗證是否啟動成功

傳送訊息:

export namesrv_addr=localhost:9876

bin/tools.sh org.apache.rocketmq.example.quickstart.producer

接收訊息:

bin/tools.sh org.apache.rocketmq.example.quickstart.consumer

rocketmq客戶端

網易雲課堂學習 rocketMq批量訊息和事務訊息

為什麼使用批量訊息 在很多調優的時候,比如資料庫批量處理,有些請求進行合併傳送等都是類似批量的實現。rocketmq批量傳送也是為了追求效能,特別是在訊息數量非常大的時候,批量效果非常明顯。使用批量訊息的限制 使用批量訊息 官方教程 什麼是事務訊息 是指producer端傳送訊息事件和本地事務事件,...

網易雲課堂學習之VS相關

1 為開發好的專案檔案 如 在專案檔案screencapture中,只需保留框起來的兩個檔案即可 而且在框起來的screencapture裡的debug檔案也可以刪掉,整個檔案由75.4 mb變為33.1 kb。2 vs2013開發環境ide介紹 ps 資源檢視一般在開發mfc windows程式時...

網易雲課堂學習 redis持久化機制

持久化介紹 redis的資料都存放在記憶體中,如果沒有配置持久化,redis重啟後資料就丟失了,因此需要開啟redis的持久化功能,將資料儲存在磁碟上,當redis重啟後,就可以從磁碟中恢復資料。持久化的方式 rdb 在指定時間間隔對資料進行快照儲存。rdb方式 rdb的優點和缺點優點 缺點對效能影...