【问题标题】:Server architecture depending on the capacity服务器架构取决于容量
【发布时间】:2015-05-13 17:39:04
【问题描述】:

我是服务器端的新手, 但我有机会设计和实现一个服务器,可以覆盖大约 2000~3000 个客户端。

我想我会使用PythonWebsocket,虽然我不知道这个选择是否合适。

在这一点上,我很好奇如何设计服务器。 我认为根据服务器处理的容量,必须有一些正常使用的架构。

否则,我可以使用 TornadoDjango 等 python 包提供的 Websocket 服务器吗?

我希望我能得到这方面的任何信息。

有什么建议吗?

【问题讨论】:

    标签: python websocket server capacity


    【解决方案1】:

    我在sockjs-tornado 面前使用 haproxy 有很好的经验。根据服务器端逻辑、路由和持久性要求的复杂程度,您可以使用 tornado 编写所有服务器端点,并使用 SQLAlchemy 处理对关系数据库的写入,或使用 Redis 等非 SQL 数据存储。

    如果您的主要要求是实时交互,那么meteor 可能也值得研究。

    【讨论】:

      【解决方案2】:

      其中一种解决方案可能是 Pyramid、sockjs、gunicorn 和 gevent。 Nginx 可能比 Apache 更适合作为前端,但当然,如果您在后端没有任何冗长的处理,任何支持 websocket 和 sockjs 的体面的异步 Python 服务器(不确定 socket.io 作为替代方案)都将适用于你开箱即用。

      无论如何都应该将冗长的处理工作分流给一些队列工作人员,这样异步服务器就可以满足要求。

      只需检查所有使用的数据存储/数据库适配器是否与您的服务器解决方案兼容,无论是异步还是多线程。

      【讨论】:

        猜你喜欢
        • 2012-11-02
        • 2021-12-10
        • 1970-01-01
        • 2011-10-02
        • 1970-01-01
        • 2018-05-02
        • 1970-01-01
        • 1970-01-01
        • 2017-09-24
        相关资源
        最近更新 更多