外面有一个批处理作业。而且有多台服务器可以处理该作业。 我只希望在特定时间内,多台服务器中的一台服务器获取并处理该作业。
为了实现这个目的,在调查全局锁机制时,我发现了mysql的get_lock函数。
另外,由于已经依赖于mysql,我认为可以使用这个函数。
然而,让人怀疑的是,在寻找全局锁机制时,大多数都使用redis等,很难找到使用get_lock的案例。
所以我怀疑mysql的get_lock是否有任何缺点。
我目前的情况是已经在使用mysql,但没有使用redis。
那么,我可以使用mysql的get_lock进行全局锁定吗? 或者mysql的get_lock有什么缺点吗?
P粉1565327062023-09-16 12:58:12
已经投票关闭了这个问题,但是一些建议可能会有帮助。
据我了解,您有几台处理相同数据集的机器 - 您希望确保数据项的独占性。您似乎正在考虑一种咨询锁定机制,即数据使用者需要寻找锁定然后在使用数据之前创建它们。咨询锁定应该只作为最后的选择使用:
请尝试重新发布带有数据接收器和数据源以及可用资源的详细信息,而不是询问是否适合一个未定义的问题的解决方案。