我正处于需要创建通知系统的项目中。这是使用在AWS基础架构上运行的Pyramid框架创建的网站(我认为服务器是apache或paste,不确定)。
当用户关注某些内容时,所有朋友都应立即收到通知,指出“X现在正在关注Y”。因此,我需要一个WebSocket服务器(可能是node.js或socket.io)。如果我这样做,我将在同一个EC2实例(Web服务器和套接字服务器)上运行两个服务器,但是如何将事件/通知从Web服务器传递到套接字服务器?
我想中间应该有东西,对吧? AWS可以为我提供的东西。或者有没有办法直接提供套接字服务器?
对于这种情况,什么是好方法?
一个衍生的问题是:获取收到通知的朋友列表的最佳位置在哪里?它应该是Web服务器还是套接字服务器?
答案 0 :(得分:0)
您需要在2台服务器前面设置代理,该代理会根据URL或其他一些请求参数将请求委托给您的Pyramid应用程序或node.js。
另一种选择是在gevent中运行Pyramid,并使用gevent_socketio在同一个应用程序中完成所有工作。