Python或节点中的异步套接字连接
我正在创建一个基本上与第三方聊天流API(基于套接字)有多个连接的应用程序 其工作方式是:每个用户在我的应用程序上都有一个帐户,在第三方应用程序上都有另一个帐户。他给了我一个第三方聊天应用的访问令牌,我连接到第三方API以流式传输他的聊天。这种情况发生在数百个用户身上 我需要为每个用户创建一个套接字连接池并运行并行线程。我正在使用一个python库(用于该API),并且能够为单个用户实现实时提要。如何在Python或NodeJS中实现异步套接字连接池?我在EC2上有一个Linux微实例,我需要为1000个用户运行这个应用程序Python或节点中的异步套接字连接,python,node.js,sockets,asynchronous,tornado,Python,Node.js,Sockets,Asynchronous,Tornado,我正在创建一个基本上与第三方聊天流API(基于套接字)有多个连接的应用程序 其工作方式是:每个用户在我的应用程序上都有一个帐户,在第三方应用程序上都有另一个帐户。他给了我一个第三方聊天应用的访问令牌,我连接到第三方API以流式传输他的聊天。这种情况发生在数百个用户身上 我需要为每个用户创建一个套接字连接池并运行并行线程。我正在使用一个python库(用于该API),并且能够为单个用户实现实时提要。如何在Python或NodeJS中实现异步套接字连接池?我在EC2上有一个Linux微实例,我需要为
我正在探索Redis+Tornado来实现这一点。还有更好的选择吗? < P>这将是一个混乱的问题,也是一个需要考虑的事情。
multiprocessing
侦听\轮询流式API。因此,您将为每个客户机创建一个单独的流程
现在,要使您的WebSocketHandler
和后台API拖缆相互交互,您可以使用Observer模式()通知WebSocket您已从API接收到数据
确保为每个客户端分配唯一的ID,并确保在使用WebSocket时仅将数据发布到预期的客户端
编辑:
网站:
还有关于龙卷风的问题。它是一个很好的轻量级框架,可以运行几个用户,可能1000个。但是,除此之外,我建议您考虑Django,因为它将使您在生成代码方面更高效,而且随着时间的推移,社区已经开发了很多工具
数据库:
如果您需要一个非常快速的无sql数据库,那么Red.is是一个不错的选择,还可以看看mongodb。如果您需要一个多区域数据库,我建议使用Cassandra或CouchDB,因为节点是分区的。下图可能会帮助您更好地决定使用哪个数据库
所以基本上你的应用程序应该作为客户端和第三方API之间的透明代理?@robertklep。它代表客户端连接到第三方流式API,并过滤一些数据并将其存储在我的数据库中。不允许使用Jquery(客户端)
基于套接字的
!所有python MVC都是基于wsgi的。因此,使用分发不是一个好主意。我的意见是:共享组中的用户,将用户端口划分到位置,DB==io
因此需要大量ram进行延时记录,永远不要使用服务器端数据进行比较,使用结果
。