此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-stream 4.1.4! |
持久发布-订阅支持
应用程序之间的通信遵循发布-订阅模型,其中数据通过共享主题广播。 这可以在下图中看到,它显示了一组交互的 Spring Cloud Stream 应用程序的典型部署。
图 1.Spring Cloud Stream 发布订阅
传感器向 HTTP 端点报告的数据将发送到名为 的公共目的地。
从目标开始,它由计算时间窗口平均值的微服务应用程序和将原始数据提取到 HDFS(Hadoop 分布式文件系统)的另一个微服务应用程序独立处理。
为了处理数据,这两个应用程序都在运行时将主题声明为它们的输入。raw-sensor-data
发布-订阅通信模型降低了生产者和使用者的复杂性,并允许将新应用程序添加到拓扑中,而不会中断现有流。 例如,在平均值计算应用程序的下游,您可以添加一个计算最高温度值以进行显示和监控的应用程序。 然后,您可以添加另一个应用程序,该应用程序解释相同的平均值流以进行故障检测。 通过共享主题而不是点对点队列进行所有通信可以减少微服务之间的耦合。
虽然发布-订阅消息传递的概念并不新鲜,但 Spring Cloud Stream 采取了额外的步骤,使其成为其应用程序模型的自以为是的选择。 通过使用原生中间件支持, Spring Cloud Stream 还简化了跨不同平台发布-订阅模型的使用。