RabbitMQ 教程

Federation HTTP API 管理

前面章节简单介绍了 Feduration 插件,以及怎样安装 Feduration 插件。本章节将介绍怎样使用 HTTP API 接口方式来设置 Feduration 相关的运行参数和策略(Federation upstream)。

下面将详细讲解如何正确地使用 Federation 插件,以 broker1(IP地址:192.168.116.51)和 broker2(IP地址:192.168.116.52)为例,在两者之间建立 Feduration exchange。

第一步:开启插件

在 broker1 和 broker2 中开启 rabbitmq federation 插件和 rabbitmq federation management 插件(如果不知道怎么开启,可以参考 Federation 插件安装)。

第二步:创建 Exchange 交换器

使用 POSTMAN 发起 PUT 请求访问 http://192.168.116.51:15672/api/exchanges/%2f/federated_exchange  地址,在默认虚拟主机下面创建名为 federated_exchange 的交换机,如下图:

特别提醒,使用 POSTMAN 调用 RabbitMQ HTTP API 时需要鉴权(采用 Basic Auth 方式),如下图:

创建好的交换器如下图:

第三步:创建 Queue 队列

使用 POSTMAN 发起 PUT 请求访问 http://192.168.116.51:15672/api/queues/%2f/federated_queue  地址,在默认虚拟主机下面创建一个名为 federated_queue 的队列。如下图:

创建好的队列如下图:

第四步:绑定 Exchange 和 Queue

使用 POSTMAN 发起 POST 请求访问 http://192.168.116.51:15672/api/bindings/%2f/e/federated_exchange/q/federated_queue  地址,将名为 federated_queue 的队列绑定到名为 federated_exchange 的交换器,如下图:

绑定成功后,效果如下图:

第五步:添加 Federation Upstream

使用 POSTMAIN 发起 PUT 请求访问 http://192.168.116.51:15672/api/parameters/federation-upstream/%2f/federation-demo  地址,在默认虚拟机主机下面创建一个名为 federation-demo 的 Federation Upstream。如下图:

效果如下图:

第六步:定义 Policy

使用 POSTMAN 发起 PUT 请求访问 http://192.168.116.51:15672/api/policies/%2f/federation-policy  地址,创建一个名为 federation-policy 的策略。如下图:

上图中,"apply-to": "all" 表示应用到交换器和队列。

第七步:查看 Federation Status 状态

如果你成功完成了上面所有步骤,那么直接访问 http://192.168.116.51:15672/#/federation  地址,点击“Running Links”按钮查看正在运行的连接。如下图:

上图中的连接就是我们刚刚创建好的 Federation 连接信息。如果能正常看见连接信息,则 Federation Upstream 创建成功了,不容易啊!!!接下来开始测试是否可用

第八步:发送消息

到这里,前面已经成功创建了 Federation Upstream,接下来移步到 broker2,访问 http://192.168.116.52:15672/#/exchanges  地址,查看我们创建的 federated_exchange 队列(注意:该交换器不需要手动创建,当我们在 broker1 中成功创建 Federation Upstream 后,将会自动为我们创建一个同名的交换器和队列到 broker2)。选中 federated_exchange 队列,点击“Publish message”按钮去发送消息,如下图:

上图中,只在 Payload 中填写了消息内容“hello message”,并发送。

第九步:消费消息

上一步骤成功发送了消息,我们返回到 broker1 上,访问 http://192.168.116.51:15672/#/queues  地址,选中 federated_queue 队列,点击“Get messages”按钮去消费一个消息。如下图:

上图中,成功地消费了从 broker2 发送过来的消息。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号