Process 快速检测远程进程退出/崩溃
我有一个分布式应用程序,其中资源被锁定,供任务独占使用。每个任务都在自己的进程中运行。如果任务进程退出或者它运行的服务器死机(如电源故障),我希望自动解锁资源 我如何在几秒钟内远程检测到这样的进程退出/失败 在谷歌搜索之后,我想出了一些想法,但我对其中任何一个都没有直接的经验Process 快速检测远程进程退出/崩溃,process,locking,monitoring,distributed-computing,Process,Locking,Monitoring,Distributed Computing,我有一个分布式应用程序,其中资源被锁定,供任务独占使用。每个任务都在自己的进程中运行。如果任务进程退出或者它运行的服务器死机(如电源故障),我希望自动解锁资源 我如何在几秒钟内远程检测到这样的进程退出/失败 在谷歌搜索之后,我想出了一些想法,但我对其中任何一个都没有直接的经验 使用mySQL(get_lock)或postgres(pg_advisory_lock)中内置的建议锁定功能。如果数据库连接关闭,它们将自动释放锁,这将发生在进程退出或服务器崩溃时 使用专用的分布式锁管理器,如ZooKe
- 使用mySQL(get_lock)或postgres(pg_advisory_lock)中内置的建议锁定功能。如果数据库连接关闭,它们将自动释放锁,这将发生在进程退出或服务器崩溃时
- 使用专用的分布式锁管理器,如ZooKeeper。这会管用的,但似乎超出了我的需要
- 在启用TCP/socket keepalive选项的情况下,建立从任务进程到远程监视进程的TCP连接。这似乎是可行的,但我更愿意建立在为我处理底层网络细节的基础上