我在谷歌應用引擎中有一個聊天應用。我面臨着併發問題。 當聊天從一端開始時,該聊天將向該帳戶中的所有可用代理廣播。當一個傢伙迴應那個傢伙會取得所有權,並在該會話中刪除所有剩下的傢伙。谷歌應用引擎中的併發
在這裏,我同時面臨來自多個代理響應的併發請求的問題。此時,每個請求都會刪除會話中的其餘代理,會話中沒有任何實體。
我認爲這解決了代碼同步。但是多個實例並不適用這種邏輯。由於代碼位於不同的服務器中。
有沒有一種方法可以實現這個同步使用數據存儲/ memcache。
請對此建議。
在此先感謝。
Govind。
這是一個不錯的主意 - 這裏有一些信息https://developers.google.com/appengine/docs/java/memcache/#Java_Safely_handling_concurrent_memcache_updates - 唯一要記住的是memcache有合同它被認爲是不穩定的,並且可以在任何時候被刷新。這意味着如果需要重新構建,您需要能夠在數據存儲(或其他位置)中表示相同的邏輯。 – Nick
memcache的臨時性質可能是一個問題,但在這種情況下,我懷疑這是因爲OP正在嘗試解決幾乎同時發生的一組請求以獲得會話。一旦會話分配完畢後,如果有必要,可以在數據存儲中表示。 –
非常感謝。我試着用交易。但有些原因,它不會解決我的問題。我不知道原因。但是隨着Memcache的增加/減少解決了這個問題。這些方法是原子的。這非常簡單和樂觀.https://groups.google.com/forum/#!topic/google-appengine-java/wtESRwKCF5U – Govind