概述

RabbitMQ Federation 插件可以将消息从一个 Exchange 复制到另一个 Exchange,或从一个 Queue 分发到另一个 Queue。

复制的源端被称为 upstream,复制的目的端被称为 downstream。要使用 Federation 插件,需要在两个集群都开启 Federation 插件,并且在 downstream 集群创建 Federation,配置 upstream。

使用场景

  • 将多个集群的消息收集到一个集群
  • 将一个队列的压力分散到多个集群
  • 在不下线的情况下将数据从一个集群同步到另一个集群
  • 减少消息消费的时延

Federation 种类

可以创建两种类型的 Federation,分别是 Exchange Federation 和 Queue Federation。

Exchange Federation

简单说,它可以实现消息在 Exchange 间的复制(同步)。

使用 Exchange Federation 可以将消息发到其他集群。效果是,当消息发送到被联邦的 Exchange 时,消息会被发送到本地的 Exchange 和 下游的集群。这样,你就可以在不同的集群多次消费消息。

Queue Federation

Queue Federation 的效果是消息的负载均衡,它只会将消息发往有空闲消费者的下游集群。也就是说,消息不会被复制。

常被用于分散压力和集群消息转移。

使用前提

  • 两个 RabbitMQ 服务器或集群
  • 在两个 RabbitMQ 上开启 Federation 插件
  • (可选)为 Federation 的组件单独创建用户
  • 上下游 RabbitMQ 网络可以通过 AMQP 协议连接

Federation Exchange 使用

  1. 满足使用前提
  2. 在下游节点配置 Federation 的 upstream
  3. 在下游节点配置 Policy,指定要被 Federate 的 Exchange 或 Queue

upstream 上游集群配置

  1. 创建 Exchange

  1. 创建 Queue

  1. 绑定 Exchange 和 Queue

downstream 下游集群配置

  1. 配置 upstream

  1. 创建 Federation policy

  1. 检查 Federation 状态

测试

  • 在上游集群向 Exchange 发送消息

  • 在上下游集群的队列都可以收到消息

参考资料

  • Federation Plugin
  • FAQ: What is the RabbitMQ Federation plugin
  • Setup RabbitMQ Exchange Federation

RabbitMQ Federation 插件使用相关推荐

  1. RabbitMq 集群federation 插件使用心得

    @doc 前言 为了能让RabbitMQ 更好的在wan下面工作,Rabbit推出了federation插件.主要用于在wan情况下,多个rabbit实例(集群)进行数据传输和交换. 步骤 1,首先搭 ...

  2. RabbitMq Federation简介

    RabbitMq Federation简介 背景: broker1 broker2 exchanger2 mq2 federation提供了一个能力,让broke1在本地先创建一个exchange2, ...

  3. RabbitMQ 延迟插件的作用

    RabbitMQ 延迟插件的作用 延迟插件的作用: 延迟队列可以做什么事情? 比如消息的延迟推送,定时任务(消息)的执行.包括一些消息重试策略的配合使用,以及用于业务削峰限流,降级的异步延迟消息机制, ...

  4. RabbitMQ Tracing插件使用

    在https://github.com/MarcialRosales/rabbitmq-tracing-guide基础上添加一些个人的实践和理解 RabbitMQ Tracing Guide rabb ...

  5. rabbitmq添加插件和配置文件的添加

    https://blog.csdn.net/njnujuly/article/details/80405915 上面的是重启rabbitmq 其中重启我感觉有问题,可以用这 rabbitmqctl s ...

  6. 基于rabbitmq延迟插件实现分布式延迟任务

    一.延迟任务的使用场景 1.下单成功,30分钟未支付.支付超时,自动取消订单 2.订单签收,签收后7天未进行评价.订单超时未评价,系统默认好评 3.下单成功,商家5分钟未接单,订单取消 4.配送超时, ...

  7. docker安装rabbitMQ stomp插件

    1.拉取镜像 docker pull rabbitmq:3-management 2.运行容器 docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER ...

  8. linux查看rabbitmq的插件,【linux环境下】RabbitMq的安装和监控插件安装

    简介这篇文章主要介绍了[linux环境下]RabbitMq的安装和监控插件安装以及相关的经验技巧,文章约2904字,浏览量445,点赞数5,值得参考! [注意安装过程中,提示某些命令not found ...

  9. rabbitmq shovel插件

    官网说明https://www.rabbitmq.com/shovel.html#management-status 启用shovel插件命令: rabbitmq-plugins enable rab ...

  10. RabbitMq启用插件管理

    打开命令行输入以下命令: rabbitmq-plugins enable rabbitmq_management 之后在浏览器地址栏输入 http://localhost:15672/ 默认的账户密码 ...

最新文章

  1. GitHub五万星登顶,程序员命令行最全技巧宝典!
  2. 如何解决传输模式解决FTP连接问题
  3. •Grid报表和Free From报表产品之比较
  4. 亲历dataguard的一些经验问答题
  5. Golang通过syscall调用win32的Api
  6. MFC六大核心机制之二:运行时类型识别(RTTI)
  7. 校园技术工坊丨云开发校园执行官招募开启!
  8. Win10怎么录制内部声音 内录软件哪个好
  9. mysql codesmith_codesmith连接Mysql
  10. Win10开启卓越性能模式,比高性能更强
  11. 智慧幼儿园方案:AI技术如何助力幼儿园智慧建设?
  12. js+css如何制作(音频)图标【切换播放动画】效果?
  13. 2019年寒假集训-二分专题
  14. 九连环解法java版
  15. Vue3 的Proxy
  16. 汶川地震它救过我们的命 十年后我们让全国人民爱上它
  17. 【用户分析-用户场景】这TM才是产品思维!
  18. python实现爬取东方财富网
  19. Java面试——美团
  20. 漂亮的html静态页面demo,web前端里见过最惊艳的HTML5的demo

热门文章

  1. obsidian标题自动添加序号
  2. 多个数的最小公倍数求法
  3. 第五太阳纪终结,人类文明新开端?
  4. 卑微的我,喜欢遥远的你
  5. T31-DAY20(JWT的介绍和使用)
  6. xcode清理缓存瘦身方法整理
  7. GLUE数据集免费下载 (MNLI, QQP, QNLI, SST-2, CoLA, STS-B, MRPC, RTE, WNLI)
  8. huggingface datasets load_metric connecterror cannot reach
  9. 读《史蒂夫•乔布斯传》(七)
  10. defy翻新机鉴别方法