懶人學(xué)習(xí)的過程就是工作中老大讓干啥讓做啥就研究研究啥,國慶放假回來的周末老大通過釘釘給我布置了個任務(wù), RabbitMQ高可用解決方案,我想說釘釘太坑了:
這是國慶過后9號周日晚上下班給的任務(wù),我周一看到的時候一看,下周五,那豈不是21號,時間是如此的充裕!那不還早呢么。。恰巧同學(xué)要面試了9號晚上一起吃飯,然后問了我?guī)讉€算法,然后被鄙視了。。他說我一個前端都比你做后臺的算法牛逼,你請客吧-。-于是周一到周三光學(xué)算法了(程序員為了吹牛逼,哪有啥節(jié)操?。┲钡街芩睦洗笳f,明天任務(wù)到期了!研究咋樣了!此時才恍然大悟,釘釘你個坑貨,下周五是14號??!
RabbitMQ 高可用集群
簡單配置
對于RabbitMQ 高可用集群的說明,我覺得這篇文章講的挺詳細(xì)的,就不說了。配置集群的方式看官網(wǎng)就可以了 ,為了采取所謂的Active/Active方案,所以只能選鏡像模式了(3.x版本以上才支持).再抄一段解釋過來(與普通集群相比,其實(shí)質(zhì)和普通模式不同之處在于,消息實(shí)體會主動在鏡像節(jié)點(diǎn)間同步,而不是在 consumer 取數(shù)據(jù)時臨時拉取。該模式帶來的副作用也很明顯,除了降低系統(tǒng)性能外,如果鏡像隊(duì)列數(shù)量過多,加之大量的消息進(jìn)入,集群內(nèi)部的網(wǎng)絡(luò)帶寬將會被這種同步通訊大大消耗掉。所以在對可靠性要求較高的場合中適用),在搭建好RabbitMq集群以后,
鏡像模式可以通過命令行為隊(duì)列添加同步策略,比如
為所有隊(duì)列應(yīng)用鏡像模式的策略
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
或者指定指定隊(duì)列名的:
rabbitmqctl set_policy yu-ha "^yu" '{"ha-mode":"exactly","ha-params":2,"ha-sync-