0

Messenger通过 Symfony 组件分派事件和通过 Symfony组件分派事件之间的基本区别是什么EventDispatcher

4

2 回答 2

3

正如您已经用 RabbitMQ 标记了这个问题:您是否尝试过使用 EventDispatcher 和 RabbitMQ?我不认为这是可能的。

但是要引用位于https://symfony.com/doc/current/components/messenger.html的官方文档:

Messenger 组件帮助应用程序向/从其他应用程序或通过消息队列发送和接收消息。

在另一个请求中处理消息的纯粹能力(通过使用传输)对 EventDispatcher 产生了巨大的影响,EventDispatcher 在应用程序的同一实例中处理所有给定事件。重新启动应用程序(通过新的 shell 调用或新的 Web 服务器请求)肯定会杀死所有尚未通过 EventDispatcher 处理的事件,但使用传输存储的事件可能仍然存在

于 2019-11-07T17:20:16.403 回答
3

Symfony Messenger是帮助您构建公交信使系统的工具。通常,如果您的应用程序需要与外部服务通信(例如,使用 AMQP 协议),您会使用它。

EventDispatcher系统使您的组件能够在它们之间进行通信。如果您想让应用程序的内部部分进行通信,您将使用此系统。

于 2019-11-07T17:21:46.147 回答