您好,登錄后才能下訂單哦!
一、簡介
? ? ?METAQ(全稱Metamorphosis)是一款完全的隊列模型消息中間件,服務器使用Jave語言編寫,可在多種軟硬件平臺上部署;客戶端支持Java、C++編程語言;單臺服務器可支持1萬以上個消息隊列,通過擴容服務器,隊列數幾乎可以任意橫向擴展;每個隊列都是持久化、長度無限(取決于磁盤空間大小)、并可從隊列任意位置開始消費;
MetaQ是一款分布式、隊列模型的消息中間件,MetaQ具有消息存儲順序寫、吞吐量大和支持本地和XA事務等特性,適用于大吞吐量、順序消息、廣播和日志數據傳輸等場景。基于發布訂閱模式,有Push和Pull兩種消費方式,支持嚴格的消息順序,億級別的堆積能力,支持消息回溯和多個維度的消息查詢
相關名稱解釋:
1、Topic---消息的主題:由用戶定義并在服務端配置;producer發送消息到某個topic下,consumer從某個topic下消費信息;
2、Offset---消息在broker上的每個分區都是組織成一個文件列表,消費者拉取數據需要知道數據在文件中偏移量(offset),Offset是絕對偏移量,服務器會將offset轉化為具體文件的相對偏移量;
3、Broker---就是meta的服務端或服務器,在消息中間件也通稱為broker;
4、分區(partition)---同一個topic下面分為多個分區;
配置文件相關參數:
zk.zkEnable=true ?---是否注冊到zk,默認true
zk.zkConnect=localhost:2180 ? ---zk的服務器列表
zk.zkSessionTimeoutMs=30000 ? ---zk心跳超時,單位毫秒,默認30秒
zk.zkConnectionTimeoutMs=30000 ?---zk連接超時時間,單位毫秒,默認30秒
brokerId ? ---服務器ID,必須是集群內唯一,必須為整數0-1024之間
serverPort ? ---服務器端口
hostName ? ---默認將取本機IP,多機網卡需要指明
dataLogPath ? ----日志數據文件路徑,默認跟dataPath一樣
dataPath ? ?---于指定默認的數據存儲路徑
deletePolicy=delete,168 ? ---數據刪除策略,默認超過7天刪除,默認單位小時
deleteWhen: ? ?---何時執行刪除策略的cron表達式,默認0 0 6,18 * *?
flushTxLogAtCommit=1 ? ---事務日志的同步設置
unflushThreshold ? ? ---每個多少條消息做一次磁盤sync,強制將更改的數據刷入磁盤;
unflushInterval ? ?---間隔多少毫秒定期做一次磁盤sync,默認10秒
二、搭建過程
系統環境:CentOS Linux release 7.6.1810 (Core)
1、jdk環境
2、搭建zookeeper(偽集群)
1)解壓
tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
2)創建三個節點,復制文件(文件夾)
# mkdir -p zk1 zk2 zk3
cp -r zookeeper-3.4.14 zk1/
3)配置文件(其他兩個節點類似)
cd zk1/zookeeper-3.4.14/
# mkdir dataDir dataLogDir
#創建標識(三個節點分別1,2,3)
# cd dataDir
vim myid
1
##修改配置文件
# mv conf/zoo_sample.cfg conf/zoo.cfg
# vim conf/zoo.cfg
其他兩個節點拷貝過去即可(注意修改標識)##修改相關配置文件
# cp -rf zk1/zookeeper-3.4.14 zk2/
# cp -rf zk1/zookeeper-3.4.14 zk3/
4)啟動服務
# zk1/zookeeper-3.4.14/bin/zkServer.sh start
# zk2/zookeeper-3.4.14/bin/zkServer.sh start
# zk3/zookeeper-3.4.14/bin/zkServer.sh start
# netstat -tnlp | grep -E '2181|2182|2183'
測試連接登錄即可:
# zk1/zookeeper-3.4.14/bin/zkCli.sh -server 127.0.0.1:2181
3、搭建metaq環境
1)解壓文件
# tar -zxvf metaq-server-1.4.6.2.tar.gz -C /usr/local/
2)配置文件
# cd /usr/local/taobao/metamorphosis-server-wrapper/
# vim conf/server.ini
3)啟動服務
./bin/metaServer.sh start &
##停止命令
./bin/metaServer.sh stop
##重啟命令
./bin/metaServer.sh restart &
##重新加載topic配置
./bin/metaServer.sh reload &
##查看server狀態
./bin/metaServer.sh stats
4、檢查部分
1)查看metaq注冊到zookper上
# zk1/zookeeper-3.4.14/bin/zkCli.sh ?-server 127.0.0.1:2181
###已注冊,查看meatq的隊列
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。