我有一个应用程序分布在几台不同的计算机上,其中一台计算机具有指定的角色,如果该计算机发生故障,我希望另一台计算机接管该角色。我实现它们的方式是有一个中央mongo数据库,该数据库带有一个包含“ expirationTime”的集合。指定的机器每隔一段时间就会将此“ expirationTime”更新到将来的某个点(比如说30秒),每隔60秒左右,其他机器就会检查一次是否达到了失效时间。如果已达到,则另一台计算机应接管。
我的问题是,是否有可能在mongo中为读取的“ expirationTime”操作和写入操作来锁定更新指定的机器?我想避免两台机器看到已达到expirationTime并且它们都更新为指定机器的情况