- 推荐序一
- 推荐序二
- 推荐序三
- 推荐语
- 前言
- 第1章 基础知识
- 第2章 微服务构建:Spring Boot
- 第3章 服务治理:Spring Cloud Eureka
- 第4章 客户端负载均衡:Spring Cloud Ribbon
- 第5章 服务容错保护:Spring Cloud Hystrix
- 第6章 声明式服务调用:Spring Cloud Feign
- 第7章 API网关服务:Spring Cloud Zuul
- 第8章 分布式配置中心:Spring Cloud Config
- 第9章 消息总线:Spring Cloud Bus
- 第10章 消息驱动的微服务:Spring Cloud Stream
- 附录 A Starter POMs
- 后记
配置详解
在Spring Cloud Stream中对绑定通道和绑定器提供了通用的属性配置项,一些绑定器还允许使用附加属性来对消息中间件的一些独有特性进行配置。这些属性的配置可以通过Spring Boot支持的任何配置方式来进行,包括使用环境变量、YAML或者properties配置文件等。
基础配置
下表是Spring Cloud Stream应用级别的通用基础属性,这些属性都以spring.cloud.stream.为前缀。
绑定通道配置
对于绑定通道的属性配置,在之前的示例中已经有过一些介绍,这些配置可以在属性文件中通过 spring.cloud.stream.bindings.<channelName>.<property>=<value>格式的参数来进行设置。其中<channelName>代表在绑定接口中定义的通道名称,比如,Sink中的input、Source中的output。
由于绑定通道分为输入通道和输出通道,所以在绑定通道的配置中包含了三类面向不同通道类型的配置:通用配置、消费者配置、生产者配置。
在下面介绍各具体配置属性时将省略 spring.cloud.stream.bindings.<channelName>.前缀,但在实际使用的时候记得使用完整的参数名称进行配置。
通用配置
对于绑定通道的通用配置,它们既适用于输入通道,也适用于输出通道,它们通过spring.cloud.stream.bindings.<channelName>.前缀来进行设置,具体可配置的属性如下表所示。
消费者配置
下面这些配置仅对输入通道的绑定有效,它们以 spring.cloud.stream.bindings.<channelName>.consumer.格式作为前缀。
生产者配置
下面这些配置仅对输出通道的绑定有效,它们以 spring.cloud.stream.bindings.<channelName>.producer.格式作为前缀。
续表
绑定器配置
由于Spring Cloud Stream目前只实现了对RabbitMQ和Kafka的绑定器,所以对于绑定器的属性配置主要是针对这两个中间件。同时因为这两个中间件自身结构的不同,所以会有不同的附加属性来配置各自的一些特殊功能和基础设施。
RabbitMQ配置
RabbitMQ绑定器的配置同绑定通道的配置一样,分为三种不同类型:通用配置、消费者配置以及生产者配置。
通用配置
由于 RabbitMQ 绑定器默认使用了 Spring Boot 的 ConnectionFactory,所以RabbitMQ绑定器支持在Spring Boot中的配置选项,它们以spring.rabbitmq.为前缀。在之前的示例中,我们使用这些配置来指定具体的 RabbitMQ 地址、端口、用户信息等,更多配置可见Spring Boot文档中对RabbitMQ支持的章节内容,或是通过spring-bootstarter-amqp模块中RabbitProperties类的源码来查看。
在Spring Cloud Stream对RabbitMQ实现的绑定器中主要有下面几个属性,它们都以spring.cloud.stream.rabbit.binder.为前缀。这些属性可以在org.springframework.cloud.stream.binder.rabbit.config.RabbitBinderConfigurationProperties中找到它们。
消费者配置
下面这些配置仅对RabbitMQ输入通道的绑定有效,它们以spring.cloud.stream.rabbit.bindings.<channelName>.consumer.格式作为前缀。
续表
续表
生产者配置
下面这些配置仅对RabbitMQ输出通道的绑定有效,它们以spring.cloud.stream.rabbit.bindings.<channelName>.producer.格式作为前缀。
Kafka配置
Kafka绑定器的配置在类别上与RabbitMQ一样,分为三种不同类型:通用配置、消费者配置以及生产者配置。但是由于 RabbitMQ 与 Kafka 自身有一些差异,所以它们的配置也不一样。
通用配置
Spring Cloud Stream 实现的 Kafka 绑定器包含下面这些通用配置,它们都以spring.cloud.stream.kafka.binder.为前缀。
续表
消费者配置
下面这些配置仅对 Kafka 输入通道的绑定有效,它们以 spring.cloud.stream.kafka.bindings.<channelName>.consumer.格式作为前缀。
生产者配置
下面这些配置仅对 Kafka 输出通道的绑定有效,它们以 spring.cloud.stream.kafka.bindings.<channelName>.producer.格式作为前缀。
续表
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论