应用程序之间的通信遵循发布-订阅模型,其中数据通过共享主题进行广播。 如下图所示,下图显示了一组交互的 Spring Cloud Stream 应用程序的典型部署。Spring中文文档

SCSt 传感器
图 1.Spring Cloud Stream 发布-订阅

传感器向 HTTP 终结点报告的数据将发送到名为 的公共目标。 从目标开始,它由计算时间窗口平均值的微服务应用程序和将原始数据摄取到 HDFS(Hadoop 分布式文件系统)中的另一个微服务应用程序独立处理。 为了处理数据,两个应用程序在运行时将主题声明为其输入。raw-sensor-dataSpring中文文档

发布-订阅通信模型降低了生产者和使用者的复杂性,并允许在不中断现有流的情况下将新应用程序添加到拓扑中。 例如,在平均值计算应用程序的下游,您可以添加一个应用程序,用于计算用于显示和监视的最高温度值。 然后,您可以添加另一个应用程序来解释相同的平均值流以进行故障检测。 通过共享主题(而不是点对点队列)进行所有通信可以减少微服务之间的耦合。Spring中文文档

虽然发布-订阅消息传递的概念并不新鲜,但 Spring Cloud Stream 采取了额外的步骤,使其成为其应用程序模型的固执己见的选择。 通过使用原生中间件支持,Spring Cloud Stream 还简化了跨不同平台发布-订阅模型的使用。Spring中文文档