Spring Cloud Stream提供了一些简化了消息驱动的微服务应用程序编写的抽象和原语。本节概述了以下内容:

  • Spring Cloud Stream的应用模型

  • Binder抽象

  • 持续的发布 - 订阅支持

  • 消费者群体支持

  • 分区支持

  • 一个可插拔的Binder API

应用模型

一个Spring Cloud Stream应用程序由一个中间件中立的核心组成。该应用程序通过Spring Cloud Stream注入到其中的输入和输出通道与外界进行通信。渠道通过中间件特定的Binder实现连接到外部经纪人。

图5. Spring Cloud Stream应用

胖JAR

Spring Cloud Stream应用程序可以在独立模式下从IDE运行进行测试。要在生产中运行Spring Cloud Stream应用程序,您可以使用为Maven或Gradle提供的标准Spring Boot工具创建可执行文件(或“胖”)JAR。

Binder抽象

Spring Cloud Stream为KafkaRabbit MQ提供Binder实现。Spring Cloud Stream还包括一个TestSupportBinder,它保留了一个未修改的通道,以便测试可以直接和可靠地与通道进行交互。您可以使用可扩展API编写自己的Binder。

Spring Cloud Stream使用Spring Boot进行配置,Binder抽象使得Spring Cloud Stream应用程序可以灵活地连接到中间件。例如,部署者可以在运行时动态地选择通道连接的目的地(例如,Kafka主题或RabbitMQ交换)。可以通过外部配置属性和Spring Boot(包括应用程序参数,环境变量和application.ymlapplication.properties文件)支持的任何形式提供此类配置。在引入Spring Cloud Stream部分的接收器示例中,将应用程序属性spring.cloud.stream.bindings.input.destination设置为raw-sensor-data将使其从raw-sensor-data Kafka主题或从绑定到raw-sensor-data RabbitMQ交换。

Spring Cloud Stream自动检测并使用类路径中找到的binder。您可以使用相同的代码轻松使用不同类型的中间件:在构建时只包含不同的绑定器。对于更复杂的用例,您还可以在应用程序中打包多个绑定器,并在运行时选择绑定器,甚至是否为不同的通道使用不同的绑定器。

源码来源

最新文章

  1. ios 类似微信红点显示功能
  2. c++ boost asio库初学习
  3. 使用CocoaPods过程中 Unable to find a specification for
  4. AloneJs —— 简洁高效的JavaScript UI库
  5. HDFS的Java操作
  6. codevs 1172 Hankson 的趣味题
  7. NOIP2008 双栈队列
  8. LAMP环境的搭建(二)----Mysql安装与配置
  9. procotol.go 源码阅读
  10. Ubuntu安装配置protobuf 2.5
  11. python的学习之路(二)
  12. windows server 2012 远程桌面不好使
  13. 翻译:last_value()函数(已提交到MariaDB官方手册)
  14. eventproxy 介绍这款好用的工具,前端事件式编程的思维
  15. JS如何判断浏览器类型和详细区分IE各版本浏览器
  16. C# Winform继承窗体打开设计器白屏的一例解决方法
  17. 阿里云服务器配置免费https服务
  18. 典型 python 小练习
  19. vim和xshell配色
  20. OC中实现可变参数

热门文章

  1. http请求跨域问题分析
  2. 洛谷 P2801 教主的魔法 题解
  3. C语言---进制
  4. ds replicas是什么
  5. qt tableview里面添加控件
  6. MySQL数据库入门常用基础命令
  7. vue-resource对比axios import ... from和import {} from 的区别 element-ui
  8. 查看 php 编译参数
  9. tomcat+Redis
  10. VMware 问题