MST

星途 面试题库

面试题:消息队列中RocketMQ与Spring Cloud Stream集成时的绑定器配置

在RocketMQ与Spring Cloud Stream集成场景下,简述如何配置RocketMQ绑定器,包括主要的配置参数及其作用。
40.6万 热度难度
后端开发消息队列

知识考点

AI 面试

面试题答案

一键面试

引入依赖

pom.xml中添加Spring Cloud Stream和RocketMQ绑定器相关依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-stream-rocketmq</artifactId>
</dependency>

配置文件设置

  1. 通用配置

    • spring.cloud.stream.binders:定义绑定器。
    spring:
      cloud:
        stream:
          binders:
            rocketmqBinder:
              type: rocketmq
              environment:
                rocketmq:
                  namesrvAddr: localhost:9876
    
    • namesrvAddr:指定RocketMQ NameServer地址,用于客户端发现Broker。
  2. 生产者配置

    • spring.cloud.stream.bindings.<channelName>.producer:配置生产者相关参数。
    spring:
      cloud:
        stream:
          bindings:
            output:
              producer:
                group: myProducerGroup
                syncSendTimeout: 5000
    
    • group:生产者组,用于标识一类生产者,同一组内的生产者发送消息策略相同。
    • syncSendTimeout:同步发送消息的超时时间(单位:毫秒)。
  3. 消费者配置

    • spring.cloud.stream.bindings.<channelName>.consumer:配置消费者相关参数。
    spring:
      cloud:
        stream:
          bindings:
            input:
              consumer:
                group: myConsumerGroup
                concurrency: 5
                maxAttempts: 3
    
    • group:消费者组,同一组内的消费者是竞争关系,共同消费消息。
    • concurrency:消费者实例并行处理消息的数量。
    • maxAttempts:消费失败后最大重试次数。