如何将NET套接字存储到数据库中,以使Node js应用程序无状态



我的应用程序正在使用 Net api(https://nodejs.org/api/net.html)插座,并接受客户的连接,这些连接无法使用任何其他方式进行交流,而不是raw tcp sockets。

我正在尝试将pm2与我的应用程序一起使用,并在所有CPU上群集。不幸的是,这是不起作用的,因为一个过程无法使用其他任何过程中的内存中存储的插座。

我正在寻找一种将每个连接保存到数据库的方法,即使我可以称呼它并在任何其他过程中再次使用它,即使是内存商店也可以满足我的需求。

其他人在这里询问了几乎相同的问题,他被告知他应该使用Redis存储插座。但是回答的人显然不知道该怎么做。

问题在这里提出:PM2可以使用Node.js Net API?

我的问题是我该怎么做?

实际上我认为这是不可能的。我真正需要的是一种通过其文件描述符编号"重新创建"套接字对象的方法,该对象可以保存为数据库中的整数,但是再次,这确实变得非常棘手。我有点被困在这里。文档对此一无所知。

也许还有另一种使我的应用程序无状态的方法?

非常感谢您的阅读,如果有人可以提供帮助。

没有保存特殊类型的方法。

在数据库中,您可以保存如何重新创建它的方法(重新启动)。

但是我认为,在您的情况下,更好的解决方案是添加一个额外的层,该图层将与描述符和集群的所有元素提供通信。在选项中,您有: node process websockets之间的交换事件

您可以做的是通过使用UNIX域套接字在服务器进程之间传递文件描述符。查看USOCKECT软件包,该软件包实现了node.js的传递文件描述符。

相关内容

最新更新