【问题标题】:Scalability of websockify?websockify 的可扩展性?
【发布时间】:2015-12-24 16:58:59
【问题描述】:

我是 websockify 的新手。所以这里是我的情况。 我们公司有用 C# 编写的服务器,每次从 Flash 和移动客户端连接大约 1000 到 2000 个原始 TCP 套接字以在线玩游戏。所以我们考虑将 Flash 移植到 Html5 并在客户端使用 Websockify 和基于 TCP 的原生协议,但在服务器端仍然保持原生 TCP(移动客户端仍然可以工作)。

所以我猜 Websock 客户端和 Websockify 服务器通过 Websock 协议连接,而 Websockify 和我们的服务器通过 TCP 协议连接

如果我是对的,那么我们可以这样做来处理 Websockify 上的大量连接及其性能

【问题讨论】:

    标签: websocket websockify


    【解决方案1】:

    有几种不同语言的 websockify 实现。 python 实现是默认的,并且具有最多的附加功能(身份验证、日志记录等)。然而,websockify 的基本功能只是桥接传输(WebSockets 到 TCP 套接字),所以实际上实现起来并不难。有一个 C 版本,您可能希望获得最大的效率,尽管它已经过时并且可能存在错误。

    话虽如此,python 版本的 websockify 是相当可扩展的。每个与 websockify 的新连接都会启动一个新的子进程,因此它应该可以线性扩展至主机上的 CPU/内存量(单独的进程意味着没有 GIL 争用)。此外,如果单个主机无法处理所有连接的负载,则 websockify 可以水平扩展。换句话说,您可以在多个 websockify 服务器前面放置一个负载均衡器(支持 WebSockets)。

    此外,websockify(python 版本)很容易配置为每个 websockify 实例支持多个目标。我添加了一个 wiki page 来描述如何做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2011-07-07
      • 2016-11-20
      • 2010-12-03
      相关资源
      最近更新 更多