栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SpringCloudStream+RabbitMQ使用中遇到的问题

SpringCloudStream+RabbitMQ使用中遇到的问题

问题一:一个交换机,多个队列,每个队列路由不同,向其中一个队列发送消息后,所有队列都能接收到消息

原因:没有绑定确定的路由

解决:添加生产者路由绑定

#配置方式一:A工程作为生产者生产消息,B工程作为消费者订阅消息
#生产者:A工程
spring:
  cloud:
    stream:
      default-binder: rabbit
      bindings:
        A_stream:
          binder: rabbit
          destination: A-exchange-dev-4
          group: group_A
      rabbit:
        bindings:
          A_stream:
            consumer:
              exchangeType: topic
              autoBindDlq: true
              republishToDlq: true
              bindingRoutingKey: group_A
            producer:
              bindingRoutingKey: group_A
              routingKeyexpression: '''group_A'''
#消费者:B工程
spring:
  cloud:
    stream:
      default-binder: rabbit
      bindings:
        A_stream:
          binder: rabbit
          destination: A-exchange-dev-4
          group: group_A
      rabbit:
        bindings:
          A_stream:
            consumer:
              exchangeType: topic
              autoBindDlq: true
              republishToDlq: true
              bindingRoutingKey: group_A
            producer:
              bindingRoutingKey: group_A
              routingKeyexpression: '''group_A'''

问题二:两个不同交换机对应不同队列,队列组名称相同,生产者消费者绑定路由key相同,发送消息,目的交换机路由未收到消息,另一个却收到消息

原因:队列组相同

解决:修改队列组,使交换机路由组生产者消费者路由key不同,否则,不能使消息发送到目的路由

问题三:一个队列既是消费者又是生产者,如果生产者和消费者使用同一配置,容易出现查不到消费者的情况

解决:生产者和消费者使用不同通道

#配置方式二:同一工程中既是消费者又是生产者,生产者消费者分开配置
spring:
  cloud:
    stream:
      default-binder: rabbit
      bindings:
        A_output_stream:
          binder: rabbit
          destination: A-exchange-dev-4
          group: group_A
        A_input_stream:
          binder: rabbit
          destination: A-exchange-dev-4
          group: group_A
      rabbit:
        bindings:
          A_output_stream:
            producer:
              bindingRoutingKey: group_A
              routingKeyexpression: '''group_A'''
          A_input_stream:
            consumer:
              exchangeType: topic
              autoBindDlq: true
              republishToDlq: true
              bindingRoutingKey: group_A

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671930.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号