Spring Cloud Stream 配置说明

本文对spring cloud stream 的相关配置,进行逐一注释说明,作为工具在需要的时候查看使用。配置中的输入(input)输出(output)通道可以换成自己的,详情如下
spring:
  cloud:
    stream:
      #实例数量,默认1
      instance-count: 1
      #实例索引,从0到instanceCount-1,用于分区和使用kafka。在Cloud Foundry中自动设置以匹配应用程序的实例索引。
      instance-index: 0
      #默认binder
      default-binder: rabbit
      #可以动态绑定的目标列表(如:动态路由),如果设置,则只能绑定列出的目的地
      dynamic-destinations:
      default:
        content-type: application/json
      bindings:
        error:
          destination: myError  #错误消息通道
        input:
          destination: streamdemo
          group: streamdemo
          content-type: application/json
          binder: rabbit
          consumer:
            #消费者并发 默认1
            concurrency: 1
            #是否分区接收数据,默认false
            partitioned: false
            #头信息模式,设置为raw时,禁用输入头文件解析。仅适用于不支持消息头的消息中间件,并且需要头部嵌入。入站数据来自外部Spring Cloud Stream应用程序时很有用。
            header-mode: embeddedHeaders
            #重试次数(包括第一次),设置为1禁用重试,默认值3
            max-attempts: 1
            #初始回退间隔时间
            back-off-initial-interval: 1000
            #最大回退间隔时间
            back-off-max-interval: 10000
            #回退倍数
            back-off-multiplier: 2.0
            #大于0时,表示允许自定义该消费者的实例索引,-1时使用spring.cloud.stream.instance-index
            instance-index: -1
            #大于0时表示自定义消费者实例技术,-1时默认使用spring.cloud.stream.instanceCount
            instance-count: -1
          producer:
            #一个确定如何分配出站数据的SpEL表达式
            partition-key-expression:
            #一个PartitionKeyExtractorStrategy实现。如果设置,或者如果设置了partitionKeyExpression,则该通道上的出站数据将被分区,并且partitionCount必须设置为大于1的值才能生效。这两个选项是相互排斥的。
            partition-key-extractor-class:
            #一个PartitionSelectorStrategy实现。与partitionSelectorExpression相互排斥。如果没有设置,则分区将被选为hashCode(key) % partitionCount,其中key通过partitionKeyExpression或partitionKeyExtractorClass计算。
            partition-selector-class:
            partition-selector-expression:
            #如果启用分区,则数据的目标分区数。如果生产者被分区,则必须设置为大于1的值。在Kafka,解释为提示; 而是使用更大的和目标主题的分区计数。
            partition-count: 1
            #生成者必须确保消息传递的组合的逗号分隔列表,即使它们在创建之后启动(

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud Stream 是一个用于构建消息驱动微服务的框架,对于配置文件的要求如下: 1. 配置消息中间件的连接信息,如 RabbitMQ、Kafka 等。可通过 `spring.cloud.stream.bindings.<channelName>.destination` 属性指定消息目标地址。 2. 配置消息通道的输入输出信息。可通过 `spring.cloud.stream.bindings.<channelName>.xxxx` 属性指定消息通道的相关参数,如 content-type、group、destination、producer、consumer 等。 3. 配置应用程序的消费者和生产者信息。可通过 `spring.cloud.stream.<functionName>.xxxx` 属性指定应用程序的相关参数,如定义消息处理器的 Bean、消息处理器的函数名、消息的序列化方式、自定义的消息转换器等。 4. 配置消息的序列化方式。可通过 `spring.cloud.stream.bindings.<channelName>.contentType` 属性指定消息的序列化方式,如 JSON、XML、Protobuf 等。 5. 配置消息的路由信息。可通过 `spring.cloud.stream.bindings.<channelName>.destination` 属性指定消息的路由信息,如路由键、主题等。 6. 配置消息的消费组信息。可通过 `spring.cloud.stream.bindings.<channelName>.group` 属性指定消息的消费组信息,如消费组名称等。 7. 配置消息的超时时间。可通过 `spring.cloud.stream.bindings.<channelName>.consumer.max-attempts` 属性指定消息的最大重试次数和最大消费次数。 8. 配置消息的错误处理方式。可通过 `spring.cloud.stream.bindings.<channelName>.destination.dlqName` 属性指定消息的 DLQ(Dead Letter Queue)信息,如 DLQ 名称、是否启用 DLQ 等。 以上是 Spring Cloud Stream 的常用配置文件,具体配置可根据实际需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值