代码之家  ›  专栏  ›  技术社区  ›  vpgcloud

将谷歌发布/订阅消息直接“流”到前端的最佳方式?服务器发送事件?

  •  2
  • vpgcloud  · 技术社区  · 7 年前

    首先:我的发布/订阅知识是基本的,我的服务器发送的事件知识甚至低于此。

    我想知道的是如何构建一个单页应用程序(有1-10个并发用户,一些小的内部用户),当发布/订阅消息时,它可以(几乎)即时显示(而不是只写即读)。到目前为止,我已经能够将一个Java Servlet整合到一起,该Servlet启动异步拉取并在前端写入EventSource,但是我首先要问自己,这是否完全是胡说八道,以及是否还有其他东西需要我研究(我想我要的是正确的关键字)。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kamal Aboul-Hosn    5 年前

    这里的正确答案实际上取决于用例。可以肯定的是,客户端代码本身调用云发布/订阅将不是正确的做法。云发布/订阅的设计不适合按主题和项目扩展订阅数量;这个 limit on each of these is 10,000 .

    Firebase Cloud Messaging 很适合在这里使用。它旨在将消息传递给最终用户,包括访问网页的用户。根据消息的原始生产者,可以使用云发布/订阅将消息从一台服务器发送到另一台服务器,这些消息最终可能会反馈给Firebase。

    1. 是所有用户都需要查看所有消息,还是每个用户都需要查看消息的子集?
    2. 如果消息位于云发布/订阅中,您将拥有多少前端服务器?如果不止一个,那么您需要对每台服务器进行订阅,以便所有实例都能接收完整的消息源,然后通过其他方式发送给用户。