文档章节

Rabbitmq学习之路4-Federation

China_OS
 China_OS
发布于 2013/12/21 10:29
字数 673
阅读 4.3K
收藏 3

3 月,跳不动了?>>>

      上一节学习了cluster,使得我们可以在一个cluster中同步各种消息,不过有时候我们需要把一个cluster的消息同步到另一个cluster中,比如线下测试,模仿用户真实数据。

      federation插件是一个在不需要cluster,而在brokers之间传输消息的高性能插件,federation插件可以在brokers或者cluster之间传输消息,连接的双方可以使用不同的users和virtual hosts,或者双方的rabbitmq和erlang的版本不一致,federation插件使用AMQP协议通讯,可以接受不连续的传输。

      federation插件允许你配置一个exchanges federation或者queues federation。一个exchange/queues federation允许你从一个或者多个upstream接受信息(就是远程的exchange/queues或者其他brokers),一个federation exchange可以路由消息到一个本地queue中,一个federation queue可以使一个本地的consumer接受从upstream queue过来的消息。

下面开始使用federation插件,首先需要开启federation插件

rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management
      当你在一个cluster中使用federation插件,所有在集群中 的nodes都需要安装federation插件。

federation的配置一共有三个层次:

Upstreams - 每个upstream定义怎么连接到其他broker
Upstream sets - 把每一个upstream设置在一个组中,使upstreams使用federation。
Policies - each policy selects a set of exchanges, queues or both, and applies a single upstream or an upstream set to those objects.

实际上,在最简单的使用情况下,你可以忽略已经存在的upstream设置,因为有一个隐含的默认upstream叫做“all”,他会添加所有的upstream。

       upstreams和upstream set都是实例的参数,就像exchanges、queues、virtual host都有他们自己的特有的parameters和policies一样。可以通过三种方式设置parameter和policy:rabbitmqctl、http api、ui。

实验环境

##ubuntu12.04 把ubuntuTest01的数据自动复制到ubuntuTest02
10.20.112.26 ubuntuTest01
10.20.112.27 ubuntuTest02

1 首先确保两台机器的federation插件已经安装,参照上面步骤。

2 在浏览器登陆ubuntuTest02的rabbitmq的ui管理界面:http://10.20.112.27:15672/#/

  2.1 创建exchange:test.exchange,使用默认配置

       UI操作:Exchanges->Add a new exchange

       在rabbitmq中会有一些默认的exchange,创建完毕后如图:

  2.2 创建queue:test.queue,绑定到test.exchange,key使用test。

       UI操作:Queues->Add a new queue

       绑定到test.exchange,并设置key

       UI操作:Queues->All queues(test.queue[单击])->Bindings

  2.3 创建upstream:upstream1

       UI操作:Admin->Federation Upstreams->Add a new upstream

  2.4 创建Parameters:mqcluster

       UI操作:Admin->Federation Upstreams->Parameters

  2.5 创建policy:mypolicy

       UI操作:Admin->Policies->Add / update a policy

  2.6 状态图


   2.7  观察26上面的连接


关于federation exchange/queue可以参考:

http://www.rabbitmq.com/federated-exchanges.html

http://www.rabbitmq.com/federated-queues.html


© 著作权归作者所有

China_OS
粉丝 428
博文 463
码字总数 520228
作品 0
静安
技术主管
私信 提问
加载中

评论(0)

RabbitMQ 3.6.1 RC2 发布

RabbitMQ 3.6.1 RC2 发布了,下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1_rc2 完整改进记录: Server Bug Fixes Windows installer failed to c......

淡漠悠然
2016/02/21
1.4K
0
RabbitMQ 3.6.1 RC1 发布

RabbitMQ 3.6.1 RC1 发布了,下载地址: https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1_rc1 该版本完整的改进内容如下: Bug Fixes Purging a lazy queue cou......

淡漠悠然
2016/02/13
976
0
RabbitMQ 3.6.1 发布

RabbitMQ 3.6.1 发布了,该版本引入了 rabbit.channel_operation_timeout 参数。 完整改进记录: Server Bug Fixes Purging a lazy queue could result in an exception GitHub issue: rabbi......

淡漠悠然
2016/03/02
1.4K
0
【原创】RabbitMQ 之 Plugins(翻译)

为了方便工作中使用,对 RabbitMQ 的【插件】相关文档进行了翻译,鉴于自己水平有限,翻译中难免有纰漏产生,如果疑问,欢迎指出探讨。此文以中英对照方式呈现。 官方原文:http://www.rabb...

摩云飞
2012/12/12
1.9K
0
【SpringBoot MQ 系列】RabbitMq 核心知识点小结

【MQ 系列】RabbitMq 核心知识点小结 以下内容,部分取材于官方教程,部分来源网络博主的分享,如有兴趣了解更多详细的知识点,可以在本文最后的文章列表中获取原地址 RabbitMQ 是一个基于 ...

小灰灰Blog
02/13
855
0

没有更多内容

加载失败,请刷新页面

加载更多

看完这篇,别人的开源项目结构应该能看懂了

我为什么要写这篇 近来,和不少初学Spring或Spring Boot的小伙伴私信交流了关于项目目录结构划分和代码分层的问题。 很多小伙伴表示网上下载下来的开源项目看不懂,项目结构和代码分层看得很...

素小暖OSC
44分钟前
22
0
如何转换高度:0; 达到高度:自动; 使用CSS? - How can I transition height: 0; to height: auto; using CSS?

问题: I am trying to make a <ul> slide down using CSS transitions. 我正在尝试使用CSS过渡使<ul>滑落。 The <ul> starts off at height: 0; <ul>从height: 0; . 。 On hover, the heig......

javail
今天
17
0
使用MyBatis编写Dao的两种语法

原文链接:http://www.yiidian.com/mybatis/mybatis-dao.html 在MyBatis中,我们有两种Dao的写法,一种叫传统Dao写法,一种叫Mapper代理接口。下面看看如何实现。 1 传统Dao写法 1.1 编写Cus...

ericxu1116
今天
31
0
北京大学公开课《数据结构与算法Python版》

之前我分享过一个数据结构与算法的课程,很多小伙伴私信我问有没有Python版。 看了一些公开课后,今天特向大家推荐北京大学的这门课程:《数据结构与算法Python版》。 课程概述 很多同学想要...

机器学习算法与Python实战
今天
21
0
介绍一个功能丰富的 Java 工具包

大家好,本文要分享一个精品的,优质的开源的 Java 相关的开源项目了。这个开源项目在 GitHub上已经收获了上万个 star 。 这个开源项目就是:Hutool 。它是一个功能丰富的 Java 工具包。它帮...

老孟的Linux私房菜
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部