2014-06-22 39 views
2

我剛剛從this questions得知Google app engine現在支持會話。我希望能夠使用它們,但我不確定是否應該僅僅因爲我能。感謝可伸縮性問題。我應該在Google App Engine中使用會話嗎?

我的問題是真的,

我在哪裏存儲會話信息?在數據存儲中還是需要很長時間?當然,花費很大?

mem緩存怎麼樣?我只有幾天的時間才知道GAE,並且還在讀書。 Mem緩存是否被認爲是快速/可擴展的,是否需要花費?

會議的可伸縮性的最佳做法是什麼?

非常感謝

回答

5

你真的沒有選擇。 Appengine透明地處理會話持久性和快速訪問。從the official documentation

報價:

的App Engine包括會話的實現,使用servlet會話界面。該實現將會話數據存儲在App Engine數據存儲中以實現持久性,並且還使用memcache來提高速度。

1

我在哪裏存儲會話信息?在數據存儲或 這需要很長時間?當然,花費很大?

如果您在GAE上啓用會話,會自動將會話信息存儲在內存緩存中並將其備份到數據存儲中。

那麼mem緩存怎麼樣?我只知道GAE幾天,而我還在讀 。 Mem緩存是否被認爲是快速/可擴展的,並且它會花費多少錢?

memcache查詢沒有成本,並且比數據存儲查詢要快得多。缺點是memecache是​​不穩定的,可能隨時被刷新。這就是GAE備份數據存儲上的會話信息的原因。

會議的可伸縮性的最佳做法是什麼?

那麼有關於這個想法的很多學校,但最好你的應用程序應該是「無狀態」,以實現在GAE上最大的「可擴展性」,所以你應該能夠處理每個請求沒有任何額外的信息,但通常很難得到。

實例之間共享空間(如memcahce/datastore/blobsotre)實際上消除了與「分佈式和動態」設置相關的所有問題,但從哲學上講,您應該嘗試實現儘可能無狀態的應用程序。

相關問題