-1

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

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

4

1 回答 1

2

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

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

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

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

于 2019-03-20T08:08:32.490 回答