博客專欄

        EEPW首頁 > 博客 > RabbitMQ集群部署(三)——鏡像集群模式部署及常見問題

        RabbitMQ集群部署(三)——鏡像集群模式部署及常見問題

        發(fā)布人:天翼云開發(fā)者 時間:2025-03-27 來源:工程師 發(fā)布文章

        本文分享自天翼云開發(fā)者社區(qū)《RabbitMQ集群部署(三)——鏡像集群模式部署及常見問題》,作者:芋泥麻薯

        鏡像集群模式與普通集群模式的主要區(qū)別在于. 無論queue的元數(shù)據(jù)還是queue中的消息都會同時存在與多個實例上.要開啟鏡像集群模式,需要在后臺新增鏡像集群模式策略. 即要求數(shù)據(jù)同步到所有的節(jié)點.也可以指定同步到指定數(shù)量的節(jié)點.

        這種方式的好處就在于, 任何一個服務(wù)宕機(jī)了,都不會影響整個集群數(shù)據(jù)的完整性, 因為其他服務(wù)中都有queue的完整數(shù)據(jù), 當(dāng)進(jìn)行消息消費的時候,連接其他的服務(wù)器節(jié)點一樣也能獲取到數(shù)據(jù).

        缺點:

        (1): 性能開銷大: 因為需要進(jìn)行整個集群內(nèi)部所有實例的數(shù)據(jù)同步

        (2):無法線性擴(kuò)容: 因為每一個服務(wù)器中都包含整個集群服務(wù)節(jié)點中的所有數(shù)據(jù), 這樣存儲瓶頸會出現(xiàn)在每個節(jié)點存儲上。

         

        1、開啟鏡像同步,注意,該操作是針對vhost的,即如果有多個vhost,則需要配置多次

        rabbitmqctl set_policy -p "/test_host" ha-all "^" '{"ha-mode":"all", "ha-sync-mode":"automatic"}'

        rabbitmqctl set_policy -p "/" ha-all "^" '{"ha-mode":"all", "ha-sync-mode":"automatic"}' 

         

        rabbitmq部署中的常見的問題

        1、如果是機(jī)器是第二次安裝,則需要刪除mnesia目錄

        rm -rf /var/lib/rabbitmq/mnesia

         

        2、如果需要指定rabbitmq的端口地址、節(jié)點聯(lián)通地址等,可以修改配置和添加對應(yīng)環(huán)境變量

        vi /etc/rabbitmq/rabbitmq.config

         

        [

          {rabbit, [

            {tcp_listeners, [{

              # 監(jiān)聽客戶端連接的端口號,默認(rèn)5672

              "0.0.0.0", 28889}

            ]},

            {cluster_partition_handling, autoheal},

            {loopback_users, []}

          ]},

         

          {log_levels, [

            {connection, info}

          ]},

         

          {rabbitmq_management, [

            {listener, [

              # managenmet服務(wù)監(jiān)聽客戶端連接的端口號,默認(rèn)15672

              {port, 28890},

              {ip, "0.0.0.0"},

              {ssl, false}]}

          ]}

        ]. 

         

        vi /etc/rabbitmq/rabbitmq-env.conf

         

        #日志文件路徑

        RABBITMQ_LOG_BASE=/var/log/rabbitmq

        #epmd端口地址,默認(rèn)4369

        export ERL_EPMD_PORT=28891

        #RabbitMQ 節(jié)點內(nèi)部通信的端口號,默認(rèn)25672

        RABBITMQ_DIST_PORT=28892

         

        3、卸載流程

        service rabbitmq-server stop

        yum -y remove erlang-*

        yum -y remove rabbitmq-server.noarch

        rm -rf /var/lib/rabbitmq

        rm -rf /user/lib/rabbitmq


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: RabbitMQ

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 巩留县| 乾安县| 娱乐| 象州县| 绥江县| 大足县| 淮北市| 奈曼旗| 黄梅县| 松江区| 胶南市| 香河县| 吕梁市| 东安县| 贵州省| 府谷县| 东宁县| 河间市| 瓦房店市| 佳木斯市| 邵武市| 怀远县| 罗城| 榆林市| 连平县| 辽宁省| 通辽市| 泾源县| 随州市| 陈巴尔虎旗| 额尔古纳市| 古交市| 民丰县| 庄河市| 鱼台县| 大同市| 进贤县| 宜都市| 金川县| 琼海市| 福泉市|