我有 x 台机器,我想选择 1 来完成特定的工作(主要机器)。我有一个数据库,它是这些机器拥有的唯一共享资源,并且没有机器间通信机制。
为了选择一台机器,我正在考虑向数据库写入一个值,然后选择先成功的那个(比如 M1)。M1 定期更新数据库以表示它还活着。当 M1 死机时,其他机器看到 M1 最近没有更新 DB,将尝试写入 db 以承担主要机器角色。
我可以让机器在任何给定时间点写入 db 什么值,所以每台机器都尝试写入相同的值?如果所有机器的时钟都同步,我可能会选择 YYMMDDHHMM。但情况可能并非如此。
任何指针/想法?