我如何知道何时触发 Server-Sent-Event?

How do I know when to trigger a Server-Sent-Event?

我想做什么

我想将 Server-Sent-Events 用于通知和其他功能 – 我不需要详细介绍其他功能,但它需要像通知一样从数据库中获取实时更新做。

可能的替代方案

Websockets 是一种选择,但我认为它可能有点太多,因为我只需要一个单向通道。然而,我完全清楚我在这里可能是错的,Websockets 可能是最好的选择——请随时就此向我学习。当前的后端设置是 Node.js(Express.js 网络服务器)和 MongoDB。

到目前为止我见过的方法

我已经看到了一些解决这个问题的方法,但这里的主要问题是我希望它尽可能具有可扩展性。让 for-Loop 不断查询我的数据库是迄今为止我见过的最糟糕的方法。我见过的最好的方法是观察 MongoDB oplog,但对我来说这似乎有点像 hack,而不是一个好的、可靠的解决方案。

我发布了 a link to this question on reddit in the subreddit r/node,其中用户 /u/PremJyotish221 告诉我将 Redis 与 PUB/SUB 一起使用,让我告诉你......它工作 完美 ! :)

所以对于遇到同样问题的任何人,我绝对可以推荐它。它快速、简单、可靠且可扩展。