谷歌应用引擎 - 从逻辑视图的角度来看,它是一个"one"(和一致的)memcached服务器?



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

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

在逻辑视图的角度来看,它是一个"一个"(和一致)memcached服务器的应用程序?让我解释一下:使用memcached的最常见的情况之一是"Page View Count"示例。好吧,如果memcached是分布式/复制的(也就是说,key:value将在n+1台机器中分布和复制),我不能保证一个一致的值(或类似的东西),因为计数值将除以n+1。

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

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

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

是的,这是app

相关内容

最新更新