0

我試圖使用appengine數據存儲來在appengine模塊之間共享一個鍵。 我在一個模塊中寫入密鑰,我可以從該模塊讀取密鑰。在appengine模塊之間共享數據

試圖從第二個模塊讀取它不起作用,我沒有得到這樣的實體響應。

在模塊之間共享密鑰的最佳方式是什麼?我可以使用數據存儲嗎?從我在文檔數據存儲中讀取的內容在服務之間共享。但它似乎並不適合我。

回答

1

您可能會遇到最終的一致性問題。數據存儲是分佈式的,所以有可能一個服務碰到數據的一致版本,而另一個服務(模塊)碰到另一個過時的版本。數據存儲絕對是在模塊之間共享數據的一種方式,因此它可能是一致性問題,在這種情況下,您不能保證能夠立即讀取數據,除非您重新構建數據或查詢強烈一致,或者它可能是一些其他問題,如你在其他模塊中有錯誤的鍵,或者以某種方式命中不同的命名空間。

下面是數據存儲一致性一些資源: https://cloud.google.com/datastore/docs/concepts/structuring_for_strong_consistency https://cloud.google.com/datastore/docs/articles/balancing-strong-and-eventual-consistency-with-google-cloud-datastore/ https://cloud.google.com/datastore/docs/best-practices

從最後一個環節:

如果您需要爲您的查詢的強一致性,使用祖先 查詢。 (要使用祖先查詢,首先需要構建數據 以獲得較高的一致性。)祖先查詢返回的結果強烈一致,結果爲 。請注意,在查詢( )之後的非祖先密鑰查詢不返回強結果,因爲非祖先 僅密鑰查詢可以從查詢時不一致的 索引獲得結果。