SpringCloud Stream + Rabbit MQ

介绍

通过stream可以让程序跟具体队列组件解耦,程序不用关心队列组件的使用,只要建立好相应的通道,不论队列组件怎么更换,程序都无需关心。stream让程序通过通道来进行消息的生产和消费。

 

 

Stream中的input和output只是个别名,不论生产者的输出通道名和消费者的输入通道名叫什么都无所谓,真正实现效果的是通道绑定了哪个交换机哪个队列。

 

对于通道的命名,为了易于区分,可让输入和输出采用同样的通道名,表示生产者往这个通道发送消息,消费者消费消息;或者采用channel_output和channel_input的写法,用于区分输入和输出方。

 

在springboot2.x以上对应的springcloud stream版本中,在同个项目中将相同的通道名绑定到不同通道可能会报该通道名已存在的错误。在看过的教程里,作者的版本是2.0.0.M3springcloudFinchley.M2可以将同样的通道名绑定到不同的通道上(纳闷)。

 

如下图所示,input代表消费者,交换机和队列是由消费者创建。该配置表示将交换机wdtest_下的average队列绑定到通道input(命名随意别重复即可)。在写程序时只需监听该通道即可接收到该队列的消息。

 

 

output代表生产者,该配置表示将交换机绑定到该通道下,程序只需往该通道发送消息即可。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值