我有一個簡單的問題,我無法在Apache Ignite文檔中找到確切的答案。Apache Ignite鎖定用於同步網格上的任意計算
我看到Apache Ignite中有一個API用於創建顯式鎖定。我知道這些鎖用於寫入緩存條目,並且這是隱式完成的。
但是,我可以(我應該)能夠在我的網格中顯式創建一個鎖來同步計算一些任意代碼。這是我正在考慮的:
- 請求進入我的API。
- 我嘗試在我點燃緩存
- 進入鎖定如果我能進入我做一些計算(這應該只對我的API實例之一在任何給定時間內完成)鎖
- 如果我能」牛逼輸入鎖,我返回409錯誤代碼(重複的請求)
- 我退出鎖定
是否有可能需要指出來這樣做呢?我應該注意潛在的隱患嗎?
是否要爲每個計算創建一個單獨的鎖?或者一個計算完成後,另一個被允許在同一個鎖上執行? –
每個請求一個鎖。每個請求都允許將5個字段連接在一起成爲鎖定緩存鍵。但是一旦關鍵部分完成並且鎖定退出,則不會再次使用。我保留對緩存本身的引用,所以我不必在每次請求時重新創建/檢索它。 – DKhanaf
聽起來像你可以通過羣集單例實現:https://apacheignite.readme.io/docs/cluster-singletons –