• 需求:利用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最好使用通配符

    应该没啥问题!

  • 相关阅读:
    RecSys Challenge 2015
    Python 多行注释
    编译型语言与解释型语言
    vs2012 提示 未能正确加载 "Visual C++ Language Manager Package" 包
    人工智能 VS 机器学习 VS 深度学习
    CV-视频分析:静态背景下的运动检测
    消费者做出购买决策的流程
    Fat jar用途
    Eclipse中打包插件Fat Jar的安装与使用
    Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
  • 原文地址:https://www.cnblogs.com/ligao/p/14836791.html
Copyright © 2020-2023  润新知