2011-05-15 68 views
3

我正計劃在GAE上構建一個Web服務,我預計它將不得不處理大量的負載。因此我想充分利用memcache,希望大多數請求不需要去數據存儲。Google App Engine的負載平衡器如何工作?

會有這個Web服務的幾個不同的用戶,而且每一個都可能需要不同的,從數據存儲不重疊的數據。我希望GAE的負載平衡傾向於將來自同一用戶的請求發送到相同的Google App Engine實例,這將增加內存緩存命中率。

這是怎樣的負載平衡器的作品?

回答

5

無論是否調度算法如何工作,memcached作業都會向所有實例顯示相同的數據,因此如果您在實例-A上緩存數據,則它將從實例-B可用。

這是你的應用程序的內存Memcached和剛剛存儲數據之間的差異。

+1

啊,有趣的 - 所以沒有memcached的推送所有緩存數據到所有實例?這可能不是我的情況理想,彷彿不同的情況下可以「專攻」 – sanity 2011-05-15 20:48:05

+1

思考的方式它是所有實例共享一個內存緩存服務器(在現實中,它不是那麼簡單,但你可以認爲這將是有益的這條路)。 – 2011-05-15 20:53:40

+0

沒錯,但那並不能真正回答我的問題。我需要知道應用程序引擎實例是否有能力根據用戶「專門化」。我知道在很多應用程序中,負載均衡器會嘗試將同一用戶發送到同一個webnode,因爲它可能已經緩存了該用戶需要的東西。 – sanity 2011-05-15 21:28:35