我正在设计一个服务,可以打开~30-50个websocket连接获取财务计分数据并将其写入MongoDB;可能每秒都会收到数百条消息。我正在使用Autobahn的Python Twisted Websocket,但我想知道它是否可以在运行一个异步线程时进行扩展。我的直觉是单线程Twisted和MongoDB都可以处理吞吐量,但我想证实这个假设。
我看到3个可能的选择:
最强大的选择是什么?非常感谢!
答案 0 :(得分:0)
就您描述的问题而言,您的应用程序是IO绑定而非CPU绑定。如果您要使用异步解决方案,则应尽量避免使用线程。并不是Twisted不支持线程it does,但是当您以异步方式进行编程时,线程只是开销。 Twisted和Autobahn可以在开始耗尽CPU之前处理大量IO。因此,只要您的应用程序代码不是高CPU,您就可以了。