相关疑难解决方法(0)

如何以最小的停机时间移交TCP侦听套接字?

虽然这个问题被标记为EventMachine,但任何语言的通用BSD套接字解决方案也非常受欢迎.


一些背景:

我有一个应用程序侦听TCP套接字.它使用常规的System V样式初始化脚本启动和关闭.

我的问题是它在准备好为TCP套接字服务之前需要一些时间来启动.它不会太长,也许只有5秒,但是在工作日需要重启时,这个时间太长了5秒.现有连接保持打开并正常完成也很重要.

重新启动应用程序的原因是补丁,升级等.不幸的是,我发现自己的位置,每隔一段时间,我就需要在生产中做这种事情.


问题:

我正在寻找一种方法来完成从一个进程到另一个进程的TCP侦听套接字的整齐移交,因此只能获得一秒钟的停机时间.我希望现有的连接/套接字保持打开状态并在旧进程中完成处理,而新进程开始为新连接提供服务.

是否有一些经过验证的方法使用BSD套接字执行此操作?(EventMachine解决方案的奖励积分.)

是否有可能实现这一点的开源库,我可以按原样使用,还是用作参考?(同样,非Ruby和非EventMachine解决方案也很受欢迎!)

sockets high-availability eventmachine

8
推荐指数
1
解决办法
4103
查看次数

标签 统计

eventmachine ×1

high-availability ×1

sockets ×1