【发布时间】:2020-09-23 20:48:14
【问题描述】:
我目前正在学习 RabbitMQ 和 AMQP。我开始使用我在网上找到的一些教程,它们都或多或少地展示了相同的示例——一个 Spring Boot Web 应用程序,它在 REST 调用时产生一条消息并放入 RabbitMQ 队列,然后是另一个类配置为该消息的消费者的同一个应用程序使用它并处理处理程序方法。
我无法理解为什么这会以任何方式有益。我理解的好处是处理程序在单独的线程中执行,而控制器方法可以在将消息发送到队列后立即返回。但是,为什么这会比仅在该处理程序方法上使用 Spring 的 @Async 注释并显式调用它更好呢?在这种情况下,我想我们会实现同样的目标,而不必托管和管理像 RabbitMQ 这样的消息代理的单独实例。
谁能解释一下?谢谢。
【问题讨论】: