2017-06-15 55 views
0

假設我有5個任務需要處理。如果沒有登錄完成,第一項任務是負責進行登錄。如果登錄已完成,則後面的任務應該重新使用登錄。確保登錄只在頂點完成一次

我有3個verticles:

  • V1是用於執行上述邏輯。
  • V2是與數據庫檢查如果登錄沒有完成
  • V3負責通過Web服務

由於3個verticles是異步的,而T1是由V2檢查,T2到達做登錄由V1處理(因爲V1現在是免費的)。 我最終得到T1和T2登錄到Web服務。

有沒有辦法在T1正在處理V2和V3時,T2等?

+0

我不清楚爲什麼你需要三個垂直軸來做到這一點。也許分享一些代碼有助於理解你的問題。 – tsegismont

回答

0

我們最終在事務中使用Redis。當多個線程同時進入時,交易確保只允許一個進行更新。獲勝者將被允許進行網絡服務電話。