2017-01-26 48 views
0

在現有項目中,爲了解決MongoDB沒有事務以及多個服務器上的應用程序跨多個集合的併發修改這一事實,有一種解決方法是使用處理鎖的分佈式緩存(Infinispan) 。我知道我們應該以某種方式設計數據庫來避免這個問題,但有時候沒有其他辦法,所以我想知道有些人是否已經找到其他方法來處理這個問題,而不需要q分佈式緩存。跨集合的MongoDB鎖定解決方法

回答

1
  1. 如果您需要事務不使用MongoDB,請改用RDBMS。
  2. 將需要立即執行的所有信息放在一個文檔中。
  3. 讓系統爲寬容最終一致性

假設選項1和2並不適用於您的應用程序現在(因爲這些都是比較的前期考慮),你的目標應該是選項3。例如通過用專用服務提供每個館藏的內容,並在http代碼中映射「交易」的狀態(即未找到,移動,修改等),或只是顯示不完整的信息,並在交易完成後立即推送更新等。 。