Apache RocketMQ是一個分散式訊息和串流媒體平台,具有低延遲、高效能和可靠性、兆級容量和靈活的可擴展性。
它提供多種功能:
本段將引導您以不同方式安裝 RocketMQ 的步驟。對於本機開發和測試,每個元件只會建立一個實例。
RocketMQ可以在所有主要作業系統上運行,並且只需要安裝Java JDK版本8或更高版本。要檢查,請運行java -version
:
$ java -version
java version " 1.8.0_121 "
對於Windows用戶,請點擊此處下載5.2.0 RocketMQ二進位版本,並將其解壓縮到本機磁碟,例如D:rocketmq
。對於 macOS 和 Linux 用戶,請執行以下命令:
# Download release from the Apache mirror
$ wget https://dist.apache.org/repos/dist/release/rocketmq/5.2.0/rocketmq-all-5.2.0-bin-release.zip
# Unpack the release
$ unzip rocketmq-all-5.2.0-bin-release.zip
準備一個終端並切換到解壓縮的bin
目錄:
$ cd rocketmq-all-5.2.0-bin-release/bin
1) 啟動名稱伺服器
NameServer 將監聽0.0.0.0:9876
,確保本機上該連接埠沒有被其他人使用,然後執行下列操作。
對於 macOS 和 Linux 用戶:
# ## start Name Server
$ nohup sh mqnamesrv &
# ## check whether Name Server is successfully started
$ tail -f ~ /logs/rocketmqlogs/namesrv.log
The Name Server boot success...
對於Windows用戶,需要先設定環境變數:
ROCKETMQ_HOME="D:rocketmq"
。然後將目錄更改為 RocketMQ,輸入並運行:
$ mqnamesrv.cmd
The Name Server boot success...
2) 啟動經紀商
對於 macOS 和 Linux 用戶:
# ## start Broker
$ nohup sh bin/mqbroker -n localhost:9876 &
# ## check whether Broker is successfully started, eg: Broker's IP is 192.168.1.2, Broker's name is broker-a
$ tail -f ~ /logs/rocketmqlogs/broker.log
The broker[broker-a, 192.169.1.2:10911] boot success...
對於 Windows 使用者:
$ mqbroker.cmd -n localhost:9876
The broker[broker-a, 192.169.1.2:10911] boot success...
您可以在自己的機器上的 Docker 容器中執行 RocketMQ, host
網路將用於公開容器中的偵聽連接埠。
1) 啟動名稱伺服器
$ docker run -it --net=host apache/rocketmq ./mqnamesrv
2) 啟動經紀商
$ docker run -it --net=host --mount source=/tmp/store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876
您也可以使用 RocketMQ Operator 在 Kubernetes 叢集中執行 RocketMQ 叢集。在進行操作之前,請確保您的機器上安裝了kubectl
和相關的 kubeconfig 檔案。
1) 安裝 CRD
# ## install CRDs
$ git clone https://github.com/apache/rocketmq-operator
$ cd rocketmq-operator && make deploy
# ## check whether CRDs is successfully installed
$ kubectl get crd | grep rocketmq.apache.org
brokers.rocketmq.apache.org 2022-05-12T09:23:18Z
consoles.rocketmq.apache.org 2022-05-12T09:23:19Z
nameservices.rocketmq.apache.org 2022-05-12T09:23:18Z
topictransfers.rocketmq.apache.org 2022-05-12T09:23:19Z
# ## check whether operator is running
$ kubectl get pods | grep rocketmq-operator
rocketmq-operator-6f65c77c49-8hwmj 1/1 Running 0 93s
2)建立叢集實例
# ## create RocketMQ cluster resource
$ cd example && kubectl create -f rocketmq_v1alpha1_rocketmq_cluster.yaml
# ## check whether cluster resources is running
$ kubectl get sts
NAME READY AGE
broker-0-master 1/1 107m
broker-0-replica-1 1/1 107m
name-service 1/1 107m
我們始終歡迎新的貢獻,無論是瑣碎的清理、重大的新功能或其他物質獎勵,更多詳細資訊請參閱此處。
Apache 許可證,版本 2.0 版權所有 (C) Apache Software Foundation
該發行版包括加密軟體。您目前居住的國家/地區可能對加密軟體的進口、擁有、使用和/或再出口到其他國家/地區有限制。在使用任何加密軟體之前,請檢查您所在國家/地區有關進口、擁有或使用以及再出口加密軟體的法律、法規和政策,以了解是否允許這樣做。請參閱 http://www.wassenaar.org/ 以了解更多資訊。
美國政府商務部工業與安全局 (BIS) 已將此軟體分類為出口商品控制編號 (ECCN) 5D002.C.1,其中包括使用非對稱演算法或執行加密功能的資訊安全軟體。此 Apache Software Foundation 發行版的形式和方式使其符合目標代碼和原始代碼的許可證例外 ENC 技術軟體無限制 (TSU) 例外(請參閱 BIS 出口管理條例第 740.13 節)的出口資格。
以下提供了有關所含加密軟體的更多詳細資訊:
該軟體使用 Apache Commons Crypto (https://commons.apache.org/proper/commons-crypto/) 支援身份驗證以及服務之間透過網路發送的資料的加密和解密。