"stream" Google Pub/Sub 消息直接发送到前端的最佳方式?服务器发送的事件?

Best way to "stream" Google Pub/Sub messages directly to frontend? Server-sent events?

第一件事:我的 Pub/Sub 知识是基本的,我的服务器发送事件知识甚至还不够。

我想知道的是如何构建一个单页应用程序(有 1-10 个并发用户,一些小的和内部的)可以(近)即时显示(不写只读)Pub/Sub 消息因为他们进来了。到目前为止,我已经能够将一个 Java Servlet 放在一起,该 Servlet 启动异步拉取并写入前端的 EventSource,但是我问自己这是否完全是无稽之谈*首先,是否还有其他我应该研究的东西(我想我要求的是正确的关键字)。

* 它工作了 1/10 倍并且现在只在本地。

感谢任何建设性的提示。

这里的正确答案确实取决于用例。可以肯定的一件事是,调用 Cloud Pub/Sub 的客户端代码本身并不是正确的做法。 Cloud Pub/Sub 并非旨在按主题和项目扩展订阅数量; limit on each of these is 10,000

Firebase Cloud Messaging 很适合在这里使用。它旨在向最终用户(包括访问网页的用户)传递消息。根据消息的原始制作者,Cloud Pub/Sub 可用于将消息从一个服务器发送到另一个服务器,这些消息最终可能会被馈送到 Firebase。

需要考虑的一些设计问题是:

  1. 是所有用户都需要查看所有消息还是每个用户都需要查看消息的子集?
  2. 消息的原始来源是什么?它们是否已经在云中 Pub/Sub,现在需要分发给个人用户或是否正在考虑其他传输层?
  3. 如果消息在云端 Pub/Sub,您将拥有多少台前端服务器?如果它不止一个,那么您需要为每个服务器订阅一个,以便所有实例都能接收到完整的消息,然后通过其他方式发送给用户。