Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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
Node.js 如何在AWS上使用套接字发送通知?_Node.js_Notifications_Amazon Web Services_Socket.io_Pyramid - Fatal编程技术网

Node.js 如何在AWS上使用套接字发送通知?

Node.js 如何在AWS上使用套接字发送通知?,node.js,notifications,amazon-web-services,socket.io,pyramid,Node.js,Notifications,Amazon Web Services,Socket.io,Pyramid,我在一个项目中,我需要创建一个通知系统。它适用于一个使用金字塔框架创建的网站,该框架在AWS基础设施上运行(我认为服务器是apache或paste,不确定) 当用户跟踪某个内容时,所有朋友都会立即收到一个通知,说明“X正在跟踪Y”。因此,我需要一个WebSocket服务器(可能是node.js或socket.io)。如果这样做,我将在同一个EC2实例上运行两个服务器(web服务器和套接字服务器),但是如何将事件/通知从web服务器传递到套接字服务器 我猜中间应该有东西,对吧?AWS能提供给我的东

我在一个项目中,我需要创建一个通知系统。它适用于一个使用金字塔框架创建的网站,该框架在AWS基础设施上运行(我认为服务器是apache或paste,不确定)

当用户跟踪某个内容时,所有朋友都会立即收到一个通知,说明“X正在跟踪Y”。因此,我需要一个WebSocket服务器(可能是node.js或socket.io)。如果这样做,我将在同一个EC2实例上运行两个服务器(web服务器和套接字服务器),但是如何将事件/通知从web服务器传递到套接字服务器

我猜中间应该有东西,对吧?AWS能提供给我的东西。或者有没有一种直接向套接字服务器提供数据的方法

对于这种情况,什么是好的方法


一个衍生的问题是:哪里是获取收到通知的好友列表的最佳位置?是web服务器还是socket服务器?

您需要在两台服务器前面安装一个代理,根据URL或其他一些请求参数,代理将请求委托给您的Pyramid应用程序或node.js


另一个选项是在gevent中运行Pyramid,并利用它在同一个应用程序中完成所有工作。

您需要在两台服务器前安装一个代理,该代理将根据URL或其他一些请求参数将请求委托给Pyramid应用程序或node.js


另一个选项是在gevent中运行Pyramid,并利用它在同一个应用程序中完成所有工作。

1。这似乎是不赞成的。相反,他们支持。然而,如果我使用同一台服务器,这不会过度杀灭金字塔应用程序吗。但是,如何从pyramid应用程序向node.js服务器提供数据呢?忘记了他们将pyramid_socketio的大部分代码都移动到了gevent_socketio中。。你说的“过度杀戮金字塔应用程序”是什么意思??那么,“feed”node.js服务器是什么意思?通常,不同的应用程序是独立的,有一个共享的数据模型。好吧,当我想到套接字服务器连接了100000个用户,然后试图为其中的100个用户发送消息时,我想这是一件花费时间的事情。因此,如果我使用gevent-socketio,我认为在发送这些消息之前,线程不会继续。也就是说,服务器将非常关注套接字部分,而不是web部分。这就是为什么我认为两者不应该在一起,web服务器向套接字服务器发送通知(web服务器向套接字服务器提供通知)。我的任何假设都是对的吗?a)gevent不是线程化的b)在不太可能的情况下,您实际上有100000个并发连接,那么无论您是在node.js还是python.1上,您都需要一个更复杂的系统来扩展。这似乎是不赞成的。相反,他们支持。然而,如果我使用同一台服务器,这不会过度杀灭金字塔应用程序吗。但是,如何从pyramid应用程序向node.js服务器提供数据呢?忘记了他们将pyramid_socketio的大部分代码都移动到了gevent_socketio中。。你说的“过度杀戮金字塔应用程序”是什么意思??那么,“feed”node.js服务器是什么意思?通常,不同的应用程序是独立的,有一个共享的数据模型。好吧,当我想到套接字服务器连接了100000个用户,然后试图为其中的100个用户发送消息时,我想这是一件花费时间的事情。因此,如果我使用gevent-socketio,我认为在发送这些消息之前,线程不会继续。也就是说,服务器将非常关注套接字部分,而不是web部分。这就是为什么我认为两者不应该在一起,web服务器向套接字服务器发送通知(web服务器向套接字服务器提供通知)。我的假设是否正确?a)gevent不是线程化的b)如果您实际拥有100000个并发连接,那么无论您使用的是node.js还是python,您都需要一个更复杂的系统来扩展。