更新代码时是否可以保持套接字连接,或者重新启动进程或热插拔代码?
我正在考虑我正在开发的下一代分布式服务器应用程序(目前用 node.js 编写),我希望能够保持 tcp 套接字打开,只要服务器和远程客户端有网络连接,即使服务器代码更新或特定实例重新启动或消失。
以下是否有可能?
- 在代码重新启动之前,它会存储套接字信息,而远程端保持打开状态。似乎这在 C 中是完全可行的。
- 在代码重新启动之前,它会将套接字信息发送到另一个实例或进程吗?
- 在 Erlang 的情况下,如果一段特定的代码被热交换,数据结构和连接不会受到干扰吗?
- 在一些元组空间中分配套接字。我对此一无所知,但至少听起来很有趣。
有什么我应该看的参考资料吗?在我看来,Erlang 是该系统未来版本的一个很好的候选者,但除了玩具示例之外,我没有将它用于任何其他用途。
编辑:在linux上运行