这个版本仍在开发中,尚未达到稳定状态。要使用最新稳定版,请使用 spring-cloud-stream 5.0.1 spring-doc.cadn.net.cn

Spring 框架的绑定器抽象

Spring Cloud Stream 提供了 KafkaRabbit MQ 的 Binder 实现。 该框架还包括一个用于应用程序集成测试的测试 binder,作为 spring-cloud-stream application。请参见 [Testing] 部分以获取更多详情。spring-doc.cadn.net.cn

绑定器抽象也是框架的扩展点之一,这意味着你可以在Spring Cloud Stream之上实现自己的binder。 在社区成员撰写的从零创建一个Spring Cloud Stream Binder文章中,详细记录了步骤和示例,其中步骤也高亮在Implementing Custom Binders部分。spring-doc.cadn.net.cn

Spring Cloud Stream使用Spring Boot进行配置,且抽象出绑定器(Binder Abstraction),让Spring Cloud Stream应用程序能够灵活地连接到中间件。例如,部署者可以在运行时动态选择外部目标(如Kafka主题或RabbitMQ交换机)与消息处理程序输入和输出(如函数参数和返回值)之间的映射。这些配置可以使用外部配置属性提供,格式可以是Spring Boot支持的任何格式(包括应用程序参数、环境变量和application.ymlapplication.properties文件)。在了解Spring Cloud Stream小节中的接收器示例中,将application属性spring.cloud.stream.bindings.input.destination设置为raw-sensor-data会使其从Kafka主题raw-sensor-data或RabbitMQ交换机raw-sensor-data读取。spring-doc.cadn.net.cn

Spring Cloud Stream在类路径上自动检测并使用绑定程序。您可以使用相同的代码使用不同的中间件。要执行此操作,请在构建时包含不同的绑定程序。对于更复杂的用例,您还可以将多个绑定程序打包到应用程序中,并让它选择绑定程序(甚至在运行时是否对不同绑定程序使用不同的绑定程序)。spring-doc.cadn.net.cn