- RocketMQ實戰(zhàn)與原理解析
- 楊開元
- 752字
- 2019-01-04 22:41:00
1.3 快速上手RocketMQ
本節(jié)介紹如何安裝配置單機版的RocketMQ,以及簡單地收發(fā)消息。讀者也可以參考RocketMQ官網(wǎng)的說明文檔。
1.3.1 RocketMQ的下載、安裝和配置
RocketMQ的Binary版是一些編譯好的jar和輔助的shell腳本,可以直接從官網(wǎng)找到下載鏈接(http://rocketmq.apache.org/dowloading/releases/),也可以下載源碼自己編譯。
系統(tǒng)要求:64bit的Linux、Unix或Mac。Java版本大于等于JDK1.8。如果需要從GitHub上下載源碼和編譯的話,需要安裝Maven 3.2.x和Git。
RocketMQ當前的最新版本是4.2.0,下面以Binary版本為例說明如何快速使用:
> unzip rocketmq-all-4.2.0-bin-release.zip -d ./rocketmq-all-4.2.0-binls > cd rocketmq-all-4.2.0-bin/
里面含有以下內(nèi)容:
LICENSE NOTICE README.md benchmark/ bin/ conf/ lib/
LICENSE、NOTICE和README.md包括一些版權(quán)聲明和功能說明信息;benchmark里包括運行benchmark程序的shell腳本;bin文件夾里含有各種使用RocketMQ的shell腳本(Linux平臺)和cmd腳本(Windows平臺),比如常用的啟動NameServer的腳本mqnamesrv,啟動Broker的腳本mqbroker,集群管理腳本mqadmin等;conf文件夾里有一些示例配置文件,包括三種方式的broker配置文件、logback日志配置文件等,用戶在寫配置文件的時候,一般基于這些示例配置文件,加上自己特殊的需求即可;lib文件夾里包括RocketMQ各個模塊編譯成的jar包,以及RocketMQ依賴的一些jar包,比如Netty、commons-lang、FastJSON等。
1.3.2 啟動消息隊列服務
啟動單機的消息隊列服務比較簡單,不需要寫配置文件,只需要依次啟動本機的NameServer和Broker即可。
啟動NameServer:
> nohup sh bin/mqnamesrv & > tail -f ~/Logs/rocketmqLogs/namesrv.Log The Name Server boot success...
啟動Broker:
> nohup sh bin/mqbroker -n localhost:9876& > tail -f ~/Logs/rocketmqLogs/broker.Log The broker[%s, 192.168.0.233:10911] boot success...
1.3.3 用命令行發(fā)送和接收消息
為了快速展示發(fā)送和接收消息,本節(jié)展示的是用命令行發(fā)送和接收消息,實際上就是運行寫好的demo程序,后續(xù)我們可以參考這些demo來寫自己的發(fā)送和接收程序。
運行示例程序,發(fā)送和接收消息:
> export NAMESRV_ADDR=localhost:9876 > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer SendResult [sendStatus=SEND_OK, msgId= ... > sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer ConsumeMessageThread_%d Receive New Messages: [MessageExt...
1.3.4 關(guān)閉消息隊列
消息隊列被啟動后,如果不主動關(guān)閉,則會一直在后臺運行,占用系統(tǒng)資源。我們有專門用來關(guān)閉NameServer和Broker的命令。
關(guān)閉NameServer和Broker:
> sh bin/mqshutdown broker The mqbroker(36695) is running... Send shutdown request to mqbroker(36695) OK > sh bin/mqshutdown namesrv The mqnamesrv(36664) is running... Send shutdown request to mqnamesrv(36664) OK
恭喜,現(xiàn)在你已經(jīng)能夠使用RocketMQ發(fā)送并接收消息了,使用消息隊列的基本功能就是這么簡單。
- Learning Apex Programming
- UI智能化與前端智能化:工程技術(shù)、實現(xiàn)方法與編程思想
- Access 2010數(shù)據(jù)庫基礎與應用項目式教程(第3版)
- Hands-On RESTful Web Services with Go
- Hands-On GPU:Accelerated Computer Vision with OpenCV and CUDA
- 領域驅(qū)動設計:軟件核心復雜性應對之道(修訂版)
- Arduino家居安全系統(tǒng)構(gòu)建實戰(zhàn)
- ASP.NET開發(fā)與應用教程
- Terraform:多云、混合云環(huán)境下實現(xiàn)基礎設施即代碼(第2版)
- Mastering Xamarin.Forms(Second Edition)
- iOS自動化測試實戰(zhàn):基于Appium、Python與Pytest
- Spring Boot實戰(zhàn)
- Image Processing with ImageJ
- JSP程序設計與案例實戰(zhàn)(慕課版)
- Qt 4開發(fā)實踐