2011-05-15 42 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