RocketMq消息隊(duì)列實(shí)施計(jì)劃方案_第1頁(yè)
RocketMq消息隊(duì)列實(shí)施計(jì)劃方案_第2頁(yè)
RocketMq消息隊(duì)列實(shí)施計(jì)劃方案_第3頁(yè)
RocketMq消息隊(duì)列實(shí)施計(jì)劃方案_第4頁(yè)
RocketMq消息隊(duì)列實(shí)施計(jì)劃方案_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、消息隊(duì)列實(shí)施方案1、背景異步解耦合、給前端系統(tǒng)提供最高效的反響2、常見(jiàn)消息隊(duì)列比照2、1 ActiveMqActiveMQ 是一個(gè)完全支持 JMS1.1和J2EE 1.4規(guī)的 JMS Provider實(shí)現(xiàn)優(yōu)點(diǎn):Java語(yǔ)言支持集群模式缺點(diǎn):性能在消息中間件中處于下游2、2 RabbitmqRabbitmq 是基于 AMQP使用erlang語(yǔ)言實(shí)現(xiàn)的消息隊(duì)列系統(tǒng)優(yōu)點(diǎn):1、完整的消息隊(duì)列系統(tǒng),支持多種消息隊(duì)列模式,包括競(jìng)爭(zhēng)消費(fèi);2、支持集群模式,擴(kuò)展集群容量和性能比擬方便,集成了集群的監(jiān)控和管理;3、支持消息的持久化;缺點(diǎn):1、需要學(xué)習(xí)比擬復(fù)雜的接口和協(xié)議,比擬消耗時(shí)間;2、 性能不是特別理想大概

2、在1wqps左右;3、使用Erlang語(yǔ)言,語(yǔ)言根底;2、3 KafkaKafka是LinkedIn開(kāi)發(fā)的一個(gè)高性能、分布式的消息發(fā)布訂閱系統(tǒng)。優(yōu)點(diǎn):1、分布式集群可以透明的擴(kuò)展,增加新的效勞器進(jìn)集群。2、高性能。單機(jī)寫(xiě)入 TPS約在百萬(wàn)條/秒3、容錯(cuò)。數(shù)據(jù)都會(huì)復(fù)制到幾臺(tái)效勞器上。缺點(diǎn):1、復(fù)雜性。Kafka需要zookeeper集群的支持,Topic通常需要人工來(lái)創(chuàng)立,部署和 維護(hù)較一般消息隊(duì)列本錢(qián)更高定位于日志傳輸、存在消息喪失的肯能、消息亂序3、消息發(fā)送錯(cuò)誤無(wú)重試2、4 RocketMQRockerMq是阿里公司中間件團(tuán)隊(duì)參考Kafka思想,用Java語(yǔ)言實(shí)現(xiàn)的消息傳輸系統(tǒng)優(yōu)點(diǎn):1較高性

3、能,單機(jī)寫(xiě)入 TPS單實(shí)例約7萬(wàn)條/秒2、容錯(cuò),多種集群模式、可以解決容錯(cuò)問(wèn)題3、消息重試發(fā)送4、順序消息可以嚴(yán)格執(zhí)行缺點(diǎn):1消息重復(fù)、消費(fèi)端需要做去重操作2、5選用結(jié)論從工程業(yè)務(wù)與團(tuán)隊(duì)技術(shù)偏向考慮,我們應(yīng)該需要一種數(shù)據(jù)平安性比擬高,保證每個(gè)消息都會(huì)被執(zhí)行;有容錯(cuò)機(jī)制、支持集群模式高可用;性能不錯(cuò),可以在毫秒級(jí)處理消息;支持順序 消息的消息中間件, RockerMq可以滿(mǎn)足這些要求。3、RockerMq 簡(jiǎn)介3、1 RockerMq產(chǎn)品介紹參考阿里公司提供的RocketMQ開(kāi)發(fā)指南”,最新版針對(duì) v3.2.43、2 RockerMq 集群3、2、1部署方式Rockermq共有四種部署方式,分別

4、是:1、單個(gè) Master一旦Broker重啟或者宕機(jī)時(shí),會(huì)導(dǎo)致整個(gè)效勞不可用2、 多 Master模式一個(gè)集群無(wú) Slave,全是 Master,例如 2個(gè) Master戒者 3個(gè) Master 優(yōu)點(diǎn):1、配置簡(jiǎn)單,2、 容錯(cuò),單個(gè) Master宕機(jī)或重啟維護(hù)對(duì)應(yīng)用無(wú)影響,在磁盤(pán)配置為RAID10時(shí),即使機(jī)器宕機(jī)不可恢復(fù)情況下,由于RAID10磁盤(pán)非??煽?,在同步刷盤(pán)時(shí)消息不會(huì)丟,異步刷盤(pán)喪失少量消息,3、性能最高。3、多 Master多Slave模式,異步復(fù)制每個(gè) Master配置一個(gè)或多個(gè) Slave,有多對(duì) Master-Slave HA高可用集群采用異步復(fù) 制方式,主備有短暫消息延遲

5、,毫秒級(jí)。優(yōu)點(diǎn):1、即使磁盤(pán)損壞,消息喪失的非常少,消息實(shí)時(shí)性不會(huì)被影響,因?yàn)镸aster宕機(jī)后,消費(fèi)者仍然可以從 Slave消費(fèi),此過(guò)程對(duì)應(yīng)用透明。不需要人工干預(yù)。性能同多Master模式幾乎一樣。缺點(diǎn):1、 Master宕機(jī),磁盤(pán)損壞時(shí),因?yàn)橹鱾溆卸虝合⒀舆t,未復(fù)制到slave的消息會(huì)喪失。2、 目前master宕機(jī)后,備機(jī)不能自動(dòng)切換為主機(jī)。只有master可以接收消息,假設(shè)所有 master宕機(jī),將不能接收消息4、多 Master多Slave模式,同步雙寫(xiě)每個(gè) Master配置一個(gè)或多個(gè) Slave有多對(duì) Master-Slave HA采用同步雙寫(xiě)方式,主備都 寫(xiě)成功,才返回成功。優(yōu)

6、點(diǎn):數(shù)據(jù)與效勞都無(wú)單點(diǎn),Master宕機(jī)情冴下,消費(fèi)者可以從slave消費(fèi)、消息無(wú)延遲,效勞可用性與數(shù)據(jù)可用性都非常高缺點(diǎn):1性能比異步復(fù)制模式略低,収送單個(gè)消息的RT返回時(shí)間會(huì)略高。2、目前master宕機(jī)后,備機(jī)不能自動(dòng)切換為主機(jī)。只有master可以接收消息,假設(shè)所有master宕機(jī),將不能接收消息選用結(jié)論由于我們需要保證消息中間件的高可用性,消息不喪失、消息無(wú)延遲,所以我們選擇“多 Master多Slave模式,同步雙寫(xiě)模式。并且選擇同步刷盤(pán)。3、2、2 多 Master多 Slave模式多master多slave模式網(wǎng)絡(luò)構(gòu)造圖主要組件有: Name Server、Broker、Pro

7、ducer、Consumer1 Name Server是一個(gè)幾乎無(wú)狀態(tài)節(jié)點(diǎn),可集群部署,節(jié)點(diǎn)之間無(wú)信息同步、記錄Topic路由信息。2、 Broker分為 Master和Slave 一個(gè) Master可以對(duì)應(yīng)多個(gè) Slave但是一個(gè) Slave只能對(duì)應(yīng) 一個(gè) Master。3、Producer與Name Server集群中的其中一個(gè)節(jié)點(diǎn)隨機(jī)選擇建立長(zhǎng)連接,定期從 Name Server獲取Topic路由信息,并向提供 Topic效勞的Master建立長(zhǎng)連接,定時(shí)向 Master發(fā) 送心跳。Producer只可以向Master發(fā)送消息。Producer完全無(wú)狀態(tài),可集群部署。4、 Consume

8、r與Name Server集群中的其中一個(gè)節(jié)點(diǎn)隨機(jī)選擇建立長(zhǎng)連接,定期從NameServer獲取Topic路由信息,并與提供Topic效勞的Master、Slave建立長(zhǎng)連接,并定時(shí)向Master、Slave収送心跳。Consumer既可以從 Master訂閱消息,也可以從Slave訂閱消息,訂閱規(guī)那么由Broker配置決定3、3集群搭建linux環(huán)境下部署rocketMq多master多slave模式、同步雙寫(xiě)模式集群, 暫定為2個(gè)master, 2個(gè)slave3、3、1安裝條件4 臺(tái) linux 效勞器、分為 master-a slave-a ; master-b slave-b效勞器防火

9、墻開(kāi)啟9876, 10911lokkit -p 9876:tcp -p 10911:tcp效勞器支持wget命令效勞器安裝jdk,不低于使用的rocketMq的支持版本3、3、2安裝步驟4 臺(tái) linux 效勞器、分為 master-a slave-a ; master-b slave-b假設(shè)ip分別為:master-a =slave- a =master-b =slave-b =3、3、2、1 master-a1從github下載RocketMQ安裝包或源碼自編譯安裝wget s:/github./alibaba

10、/RocketMQ/releases/download/v3.2.6/alibaba-rocketmq-3.2.6.tar.gz2解壓縮、并創(chuàng)立數(shù)據(jù)、日志目錄tar - xvf alibaba-rocketmq-3.2.2.tar.gz3配置環(huán)境變量:系統(tǒng)變量:Vi /etc/profile或者修改當(dāng)前用戶(hù)的環(huán)境變量例如:export ROCKETMQ_HOME=/opt/RocketMQ/alibaba-rocketmqexport PATH=$PATH:$ROCKETMQ_HOME/binsource命令是環(huán)境變量生效4修改mq集群的master-a配置修改文件 $ROCKETMQ_HOM

11、E/conf/2m-2s-sync/perties不是強(qiáng)制必須使用這個(gè)文件,使用者可以自行定義* brokerClusterName=DefaultClusterbrokerName=broker-a *歸屬 master-slave組的名字brokerId=0 *0 表示為 master-slave組中為 masternamesrvAddr=:9876;:9876;:9876;:9876 *nameserv defaultTopicQueueNums=4autoCreateTopicEna

12、ble=trueautoCreateSubscriptionGroup=truelistenPort=10911 *Broker對(duì)外效勞的監(jiān)聽(tīng)端口deleteWhen=04fileReservedTime=120mapedFileSizemitLog=1073741824 mapedFileSizeConsumeQueue=50000000 destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/opt/RocketMQ/a

13、libaba-rocketmq/data* 數(shù)據(jù)目錄storePathmitLog=/opt/RocketMQ/alibaba-rocketmq/logs * 日志目錄 maxMessageSize=65536flushmitLogLeastPages=4flushConsumeQueueLeastPages=2 flushmitLogThoroughInterval=10000 flushConsumeQueueThoroughInterval=60000 checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pull

14、MessageThreadPoolNums=128brokerRole=SYNC_MASTER即可 brokerClusterName=DefaultClusterbrokerName=broker-a *歸屬 master-slave組的名字brokerId=1 *1 表示在 master-slave組中為 slavenamesrvAddr=:9876;:9876;:9876;:9876 defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubs

15、criptionGroup=truelistenPort=10911 * 對(duì)外端口deleteWhen=04fileReservedTime=120mapedFileSizemitLog=1073741824mapedFileSizeConsumeQueue=50000000destroyMapedFileIntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88 storePathRootDir=/aifs01/users/tstusr12/opt/RocketMQ/alibaba-rock

16、etmq/data* 數(shù)據(jù)存放storePathmitLog=/aifs01/users/tstusr12/opt/RocketMQ/alibaba-rocketmq/logs * 日志存放 maxMessageSize=65536角色同步雙寫(xiě) MasterflushDiskType=SYNC_FLUSH* 同步刷盤(pán)brokerlP1=*本機(jī)IP地址,多網(wǎng)卡易出錯(cuò),請(qǐng)手工指定其他配置請(qǐng)參考RocketMQ開(kāi)發(fā)指南”,最新版針對(duì) v3.2.45 啟動(dòng) mq 集群的 master-a 跳轉(zhuǎn)到 RocketMQ的bin目錄下cd $ROCKETMQ_HOME/bi nn ohup

17、 sh mqn amesrv &n ohup sh mqbroker-c $ROCKETMQ_HOME/co nf/2m-2s-sy nc/perties &3、3、2、2 slave-a1從github下載RocketMQ安裝包或源碼自編譯安裝|wget s:/github./alibaba/RocketMQ/releases/download/v3.2.2/alibaba-rocketmq-3.2.2.tar.gz2解壓縮、并創(chuàng)立數(shù)據(jù)、日志目錄tar - xvf alibaba-rocketmq-3.2.2.tar.gz3配置環(huán)境變量例如:export ROCKET

18、MQ_HOME=/opt/RocketMQ/alibaba-rocketmqexport PATH=$PATH:$ROCKETMQ_HOME/binsource命令是環(huán)境變量生效4修改mq集群的slave-a配置修改文件 $ROCKETMQ_HOME/conf/2m-2s-sync/perties不是強(qiáng)制必須使用這個(gè)文件,使用者可以自行定義、只要保證配置文件的brokerName正確 flushmitLogLeastPages=4 flushConsumeQueueLeastPages=2 flushmitLogThoroughlnterval=10000 flus

19、hConsumeQueueThoroughlnterval=60000 checkTransactionMessageEnable=false sendMessageThreadPoolNums=128 pullMessageThreadPoolNums=128 brokerRole=SLAVE *角色 Slave flushDiskType=SYNC_FLUSH * 同步刷盤(pán) brokerlP1= *本機(jī)ip,多網(wǎng)卡,建議自定義其他配置請(qǐng)參考RocketMQ開(kāi)發(fā)指南”,最新版針對(duì)v3.2.45 啟動(dòng) mq 集群的 slave-a跳轉(zhuǎn)到RocketMQ的bin目錄下cd $

20、ROCKETMQ_HOME/bi nn ohup sh mqn amesrv &n ohup sh mqbroker-c $ROCKETMQ_HOME/co nf/2m-2s-sy nc/perties &3、3、2、3 master-b1從github下載RocketMQ安裝包或源碼自編譯安裝wget s:/github./alibaba/RocketMQ/releases/download/v3.2.2/alibaba-rocketmq-3.2.2.tar.gz2解壓縮、并創(chuàng)立數(shù)據(jù)、日志目錄tar - xvf alibaba-rocketmq-3.2.2.tar

21、.gz3配置環(huán)境變量例如:export ROCKETMQ_HOME=/opt/RocketMQ/alibaba-rocketmqexport PATH=$PATH:$ROCKETMQ_HOME/binsource命令是環(huán)境變量生效4修改mq集群的master-b配置修改文件 $ROCKETMQ_HOME/conf/2m-2s-sync/perties不是強(qiáng)制必須使用這個(gè)文件,使用者可以自行定義* brokerClusterName=DefaultClusterbrokerName=broker-b *歸屬 master-slave組的名字brokerId=0 *0 表示

22、為 master-slave組中為 masternamesrvAddr=:9876;:9876;:9876;:9876 *nameserv defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=truelistenPort=10911 *Broker對(duì)外效勞的監(jiān)聽(tīng)端口deleteWhen=04fileReservedTime=120mapedFileSizemitLog=1073741824mapedFileSize

23、ConsumeQueue=50000000destroyMapedFileIntervalForcibly=120000redeleteHangedFilelnterval=120000diskMaxUsedSpaceRatio=88storePathRootDir=/opt/RocketMQ/alibaba-rocketmq/data* 數(shù)據(jù)目錄storePathmitLog=/opt/RocketMQ/alibaba-rocketmq/logs * 日志目錄 maxMessageSize=65536flushmitLogLeastPages=4flushConsumeQueueLeastP

24、ages=2flushmitLogThoroughlnterval=10000flushConsumeQueueThoroughlnterval=60000checkTransactionMessageEnable=falsesendMessageThreadPoolNums=128pullMessageThreadPoolNums=128brokerRole=SYNC_MASTER*角色同步雙寫(xiě) MasterflushDiskType=SYNC_FLUSH* 同步刷盤(pán)brokerlP1=*本機(jī)IP地址,多網(wǎng)卡易出錯(cuò),請(qǐng)手工指定其他配置請(qǐng)參考RocketMQ開(kāi)發(fā)指南”,最新

25、版針對(duì) v3.2.45 啟動(dòng) mq 集群的 master-b跳轉(zhuǎn)到RocketMQ的bin目錄下cd $ROCKETMQ_HOME/bi nn ohup sh mqn amesrv &n ohup sh mqbroker-c $ROCKETMQ_HOME/co nf/2m-2s-sy nc/perties &3、3、2、4 slave-b1從github下載RocketMQ安裝包或源碼自編譯安裝|wget s:/github./alibaba/RocketMQ/releases/download/v3.2.2/alibaba-rocketmq-3.2.2.tar.gz2

26、解壓縮、并創(chuàng)立數(shù)據(jù)、日志目錄tar - xvf alibaba-rocketmq-3.2.2.tar.gz3配置環(huán)境變量例如:export ROCKETMQ_HOME=/opt/RocketMQ/alibaba-rocketmqexport PATH=$PATH:$ROCKETMQ_HOME/binsource命令是環(huán)境變量生效4修改mq集群的slave-a配置修改文件 $ROCKETMQ_HOME/conf/2m-2s-sync/perties不是強(qiáng)制必須使用這個(gè)文件,使用者可以自行定義、只要保證配置文件的brokerName正確即可* brokerCluster

27、Name=DefaultClusterbrokerName=broker-b *歸屬 master-slave組的名字brokerld=1 *1 表示在 master-slave組中為 slavenamesrvAddr=:9876;:9876;:9876;:9876defaultTopicQueueNums=4autoCreateTopicEnable=trueautoCreateSubscriptionGroup=truelistenPort=10911 * 對(duì)外端口deleteWhen=04fileReservedTime=120mapedFileSizemitLog=1073741824mapedFileSizeConsumeQueue=50000000destroyMapedFilelntervalForcibly=120000redeleteHangedFileInterval=120000diskMaxUsedSpaceRatio=88 storePathRootDir=/aifs01/users/tstusr12/opt/RocketMQ/alibaba-rocketmq/data * 數(shù)據(jù)存放 storePathmitL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論