rabbitMQ Shovel与Federation

Shovel

       shovel 是rabbitMQ的一个插件可以把源节点消息发送到目标节点。

优点

  • 松耦合:Shovel 可以在不同的 Broker和集群上传递消息,源节点和目标节点可以使用不同的用户和vhosts,不同的RabbitMQ版本。
  • 支持多个版本的AMQP协议
  • 支持广域网可以容忍网络断断续续保证可靠性。

原理

使用

首先开启插件

rabbitmq-plugins enable rabbitmq_shovel

rabbitmq-plugins enable rabbitmq_shovel_management 

静态方式:在 rabbitmq.config 配置文件中针对 Shove1 插件的配置

动态方式:

1.Prefetch count

允许允许Shovel内部缓存消息条数默认1000(未ack的数据)。

2.Auto-delete:

  • Never:一直执行。
  • After initial length transferred:Shovel启动时判断源节点query数量,向目标节点同步完这个数量的消息后自动删除Shovel。

Acknowledgement mode :表示在完成转发消息时的确认模式有三种

  1.   no ack 表示无须任何消息确认行为;
  2.   on publish 表示 Shovel 会把每 一 条消息发送到 目的端之后再向源端发送消息确认;
  3.   on confirm 表示 Shovel 会使用 publisher confmn 机制, 在收到目的端的消息确认之后再向源端发送消息确认。(默认值 官方推荐 选择其他值性能略有提升但是影响消息可靠性)

Reconnect delay

连接失效后几秒后重试默认5秒。

Add forwarding headers

设置为 true,则会在转发的消息内添加 x-shovelled 的 header属性。

Federation

Federation 可以在不同broker 中传递消息

优点:

  • 松耦合:Shovel 可以在不同的 Broker和集群上传递消息,源节点和目标节点可以使用不同的用户和vhosts,不同的RabbitMQ版本。
  • 支持广域网可以容忍网络断断续续保证可靠性。

使用

开启插件

rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值