【问题标题】:When should I switch from Symfony EventDispatcher to RabbitMQ (any *MQ library)?我什么时候应该从 Symfony EventDispatcher 切换到 RabbitMQ(任何 *MQ 库)?
【发布时间】:2019-03-20 06:50:35
【问题描述】:

我目前正在考虑的是,在我们的平台上,用户产生的事件数量每天都在增加(通话开始,通话结束,通话记录准备好,用户被阻止等),所以什么时候应该是正确的时间从 Symfony EventDispatcher 切换到更高效、可扩展的东西?

如果我错了,请纠正我:Symfony EventDispatcher 将每个订阅者加载到服务器 RAM 中并保持它直到请求被处理?如果是,这意味着 2 个生成的事件将占用 RAM 中的 2x(所有订阅者类的总和)内存,这将导致我增加服务器 RAM,这将导致我支付更多费用,而不是使用有效的事件处理方法(libs,系统架构等)。

【问题讨论】:

    标签: symfony events rabbitmq event-dispatching symfony-eventdispatcher


    【解决方案1】:

    恕我直言,切换到 MQ 的主要原因应该是代码执行时间长。

    如果您有很多事件(例如对数据库进行操作),那么您的执行时间就会增加。

    事件在 request->response 中触发,使用 MQ 你可以把它放在你的应用程序之外,这意味着你将有更好的执行时间,但是所有事件操作都将在“后台”运行 - 所以它不会是“实时的”。

    就我个人而言,我从未见过直接来自订阅者/听众的高内存使用率——即使在一些大型项目中也是如此。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 1970-01-01
      • 2010-12-30
      相关资源
      最近更新 更多