外面有一個批次作業。而且有多台伺服器可以處理該作業。 我只希望在特定時間內,多台伺服器中的一台伺服器會取得並處理該作業。
為了實現這個目的,在調查全域鎖定機制時,我發現了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
已經投票關閉了這個問題,但是一些建議可能會有幫助。
據我了解,您有幾台處理相同資料集的機器 - 您希望確保資料項目的獨佔性。您似乎正在考慮一種諮詢鎖定機制,即數據用戶需要尋找鎖定然後在使用數據之前創建它們。諮詢鎖定應該只作為最後的選擇:
請嘗試重新發布帶有資料接收器和資料來源以及可用資源的詳細信息,而不是詢問是否適合一個未定義的問題的解決方案。