• rabbitMQ集群部署以及集群之间同步


    MQ集群部署

    期待的部署架构

    其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中。

    安装erlang,略。。

    安装rabbitMQ,略。。

    基本配置(NODENAME之类的,略)

    配置本地集群

    配置hosts

    同一机房集群的两台机器都要配置host,要保证可以通过hosts访问到同一机房的集群机器

    比如同一机房的两台机

    NODENAME=rabbit@111_100_222_217

    NODENAME=rabbit@111_100_222_218

    111_100_222_217为同ip对应的域名

    需要在这两台机上,配置/etc/hosts,增加配置如下:

    111.100.222.217  111_100_222_217

    111.100.222.218  111_100_222_218

    加入集群

    在两台机器上,先启动MQ:

    ./rabbitmq-server&(同机房集群里的都要启动,不然后面join不进去)

    然后在其中每台机器上,执行命令:

        ./rabbitmq-plugins enable rabbitmq_federation rabbitmq_federation_management rabbitmq_management

        ./rabbitmqctl stop_app

        ./rabbitmqctl reset

        ./rabbitmqctl join_cluster rabbit@111_100_222_218

        (218那台机器是

        ./rabbitmqctl join_cluster rabbit@111_100_222_217

        目的是相互增加对方为集群)

        最后,重启MQ

        ./rabbitmq-server&(如果存在则先kill掉 )

     

    本地集群配置完毕

     

    本地MQ集群和中心MQ集群的同步

    同步是单向的,都是单向同步到中心MQ

    本地MQ集群的同步配置

    在每个本地MQ集群中,配置一下:(一个集群只需要一台机器配置,会自动扩散到集群)

    增加admin用户并设置权限

    ./rabbitmqctl add_user admin yy-cloud

    ./rabbitmqctl set_permissions  admin ".*" ".*" ".*"

    ./rabbitmqctl set_user_tags admin administrator

    设置策略

    ./rabbitmqctl  set_policy ha-federation  "^federation" '{"ha-mode":"exactly","ha-params":2}' 0

     

    本地MQ集群的同步配置完成了.

     

    中心MQ集群配置

    设置策略

    ./rabbitmqctl  set_policy ha-federation  "^federation" '{"ha-mode":"exactly","ha-params":2}' 0

    然后上中心MQ的web管理界面,在Admin下有个Federation Upstreams插件,为每个需要同步过来的MQ集群增加upstreams. 需要配置的是URI参数和Expries参数,其他参数一概默认就行

    URI

    amqp://admin:yy-cloud@111.100.222.217:5672 amqp://admin:yy-cloud@111.100.222.218:5672

    Expires

    3600000ms

    记得每个需要同步过来的MQ集群都要配置一下。 最后,大功告成了!

     

     

     

     

  • 相关阅读:
    软件设计原则
    UML 类图
    Lambda 四大内置核心函数式接口
    Lambda 表达式简介
    vuex源码解析及简单实现
    websocket
    module.export / require 和 export / import
    关于form表单提交时required属性失效的问题
    更改mysql引擎后无法建立外键(navicat)
    关于Android studio SDK的安装与配置
  • 原文地址:https://www.cnblogs.com/moodlxs/p/3270565.html
Copyright © 2020-2023  润新知