zoukankan      html  css  js  c++  java
  • 需求:利用Federation在rabbitmq集群区域之间做下消息同步

    香港HK集群:exchange消息转发到--》国内SH集群:exchange消息

    rabbitmq有个插件是专门做这件事情的那就是:Federation,换有几个插件,没有研究,目前决定了就用这个。

    实现过程:
    1,启动Federation插件,在HK和SH集群都启动,并创建一个账号作为消息同步使用(这个自己随便创建一个就行权限给大点)
    `启用federation插件
    rabbitmq-server -detached
    rabbitmq-plugins enable rabbitmq_federation
    启用federation管理插件
    rabbitmq-plugins enable rabbitmq_federation_management
    有关Federation upstream 的信息全部都保存在RabbitMQ 的Mnesia 数据库中,包括用户信息、权限信息、队列信息等。在Federation 中存在3 种级别的配置。

    ( 1) Upstreams :每个upstream 用于定义与其他Broker 建立连接的信息。
    (2) Upstream sets :每个upstream set 用于对一系列使用Federation 功能的upstream 进行分组。
    (3) Policies :每一个Policy 会选定出一组交换器,或者队列,亦或者两者皆有而进行限定,进而作用于一个单独的up steam 或者upstream set 之上。
    `
    2,在香港HK和国内SH集群分别创建相同的exchange。(此处务必一致)

    3,在国内SH集群定义:upstarem和Policies
    rabbitmqctl set_parameter federation-upstream name1 '{"uri":"amqp://admin:admin@174.100.1.100:5672","ack-mode":"no-ack"}'
    rabbitmqctl set_policy --apply-to queues p1 "^mtest" '{"federation-upstream":"name1"}'
    mtest:这是一个exchange最好使用通配符

    应该没啥问题!

  • 相关阅读:
    vsprintf函数和va_list用法详解
    copy_from_user 详解
    OK6410之蜂鸣器buzzer字符驱
    树莓派调试PCF8591遇到的小问题
    APM关键姿态控制源码讲解
    APM姿态控制流程
    没有安装gawk
    git 第一次上传本地代码到远程仓库,解决 ! [rejected] master -> master (non-fast-forward)错误
    C++ 全面刨析使用指针方法 _new _delete
    typedef&define的用法与区别
  • 原文地址:https://www.cnblogs.com/ligao/p/14836791.html
Copyright © 2011-2022 走看看