Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 服务器体系结构取决于容量_Python_Websocket_Server_Capacity - Fatal编程技术网

Python 服务器体系结构取决于容量

Python 服务器体系结构取决于容量,python,websocket,server,capacity,Python,Websocket,Server,Capacity,我是服务器端的新手, 但是我有机会设计和实现一个服务器,它将覆盖大约2000~3000个客户端 我想我会使用Python和Websocket,尽管我不知道这个选择是否合适 在这一点上,我很好奇如何设计服务器。 我认为,根据服务器处理的容量,必须有一些正常使用的体系结构 否则,我可以使用一些python包(如Tornado或Django)提供的Websocket服务器吗 我希望我能得到这方面的任何信息 有什么建议吗?我在前面使用haproxy有很好的经验。根据服务器端逻辑、路由和持久性需求的复杂程

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

我想我会使用
Python
Websocket
,尽管我不知道这个选择是否合适

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

否则,我可以使用一些python包(如
Tornado
Django
)提供的
Websocket
服务器吗

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


有什么建议吗?

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


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

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

无论如何,长时间的处理应该被转移到一些队列工作者身上,这样异步服务器就可以满足需要

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