我是服务器端的新手, 但是我有机会设计和实现一个覆盖2000~3000个客户端的服务器。
我想我会使用Python
和Websocket
,但我不知道这个选择是合适的。
在这一点上,我很好奇如何设计服务器。 我认为必须有一些正常使用的架构,具体取决于服务器处理的容量。
否则,我可以使用某些python包提供的Websocket
服务器,如Tornado
或Django
吗?
我希望我能获得有关此事的任何信息。
有什么建议吗?
答案 0 :(得分:0)
我在sockjs-tornado面前使用haproxy有很好的经验。根据服务器端逻辑,路由和持久性要求的复杂程度,您可以使用tornado编写所有服务器端点,并使用SQLAlchemy处理对关系数据库的写入或使用Redis等非SQL数据存储。
如果您的主要要求是实时互动,那么也可能值得调查meteor。
答案 1 :(得分:0)
解决方案之一可能是Pyramid,sockjs,gunicorn和gevent。 Nginx可能更适合作为Apache的前端,但当然如果你在后端没有任何冗长的处理,任何支持websocket和sockjs的不错的异步Python服务器(不确定socket.io作为替代)将适用于你开箱即用。
无论如何,应该将Lenghty处理卸载到某些队列工作者,因此异步服务器将适合该帐单。
只需检查所有使用的数据存储区/数据库适配器是否与您的服务器解决方案兼容,无论是异步还是多线程。