0

这是一个关于 GAE 幕后的问题。

好的,这可能是一个愚蠢的问题,但我想弄清楚谷歌如何支持地理分布式数据中心以及在这种情况下在 memcached 中使用了哪些策略。

从逻辑视图的角度来看,它是应用程序的“一个”(且一致的)memcached 服务器吗?让我解释一下:使用 memcached 的最知名案例之一是“页面查看次数”示例。好吧,如果 memcached 是分布式/复制的(也就是说,key:value 将在 n+1 台机器上分布和复制)我不能保证一个一致的值(或类似的东西),因为计数值将被除以n+1。

另一种分布式/复制的 memcached 可能会导致麻烦的情况:我会使用一些未更新的实体值。例如:步骤 1.req webserver1+memcached1(在 memcached1 中做一些查询和缓存 entity1)步骤 2.req webserver2+memcached2(更新 entity1 并在 memcached2 中使其无效)步骤 3.req webserver1+memcached1(从 memcached1 中获取 entity1,但它是旧数据,因为它在数据存储中更新,在 memcached2 中无效,但在 memcached1 中无效!!)

4

1 回答 1

1

单个内存缓存在应用程序的所有实例之间共享。

无论哪个实例将值放入或取出,它们都共享相同的存储。

所以是的,它是通过应用程序。

于 2013-01-10T16:36:15.687 回答