Spring AMQP 相对于 Spring Cloud Stream for Microservices Architecture 有什么好处

What benefits does Spring AMQP have over Spring Cloud Stream for Microservices Architecture

我使用 Spring 云方法来构建一些应该相互交互的微服务。对于微服务之间的消息传递,我打算使用 RabbitMQ 和 Spring AMQP,但在我看了 Spring Cloud Stream 之后,我感到迷茫了。在我看来 Spring Cloud Stream 是具有许多非常有用的功能的下一级抽象(可能太强了,但您应该得到总体印象)。所以我想知道为什么有人会使用 Spring AMQP 进行新开发?当一个微服务向另一个微服务发送消息并接收回复时,您能否提供 Spring AMQP 优于 Spring Cloud Stream 的任何基本情况?

谢谢。

Spring Cloud Stream 提供了连接到外部系统(Binder、Consumer Group 等)的固定配置模型。这主要用于 Streaming 应用程序,其中应用程序通过管道连接。不适合这种自以为是的模型的应用程序可以直接从 Spring Integration (+ Spring AMQP) 配置。

例如,Spring Cloud Stream 不直接支持 request/reply 场景。您可以阅读 SO question and the github issue here