【问题标题】:Low latency, server push. How many open connections can server have?低延迟,服务器推送。服务器可以有多少个打开的连接?
【发布时间】:2019-03-05 09:17:21
【问题描述】:

任务是向客户端发送有关某些事件的通知。假设事件速率约为每秒 1 次,我们有大约 10000 个客户端正在监听该事件。 你会建议什么架构?服务器推送可以维护多少个打开的连接?

【问题讨论】:

    标签: architecture distributed-system server-push low-latency


    【解决方案1】:

    如果您使用基于良好可扩展多线程架构的 websocket 服务器,真正的限制不是打开的连接数,而是总吞吐量。在您的情况下,整个过程的总数是每秒 10,000 条消息。我们还应该考虑平均消息大小。例如,如果一条典型的消息是 10 字节,那么您的总吞吐量是 0.8 Mbit/s;如果一条典型的消息是 1000 字节,那么您的总吞吐量是 80 Mbit/s。

    在这两种情况下,根据我们的经验,中型服务器可以安全地处理此类流量。

    仅供参考,我们在 websocket 服务器上成功测试了 100 万个并发连接,每个连接的吞吐量为每 10 秒 1 条消息。这意味着每秒有 100,000 条消息分布在单个服务器上的 1,000,000 个套接字上。 [全面披露:我是 Lightstreamer 的联合创始人]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-29
      • 2010-11-26
      • 2019-04-07
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多