Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 从逻辑的角度来看,它是一个;“一”;(且一致)应用程序的memcached服务器?_Google App Engine_Memcached - Fatal编程技术网

Google app engine 从逻辑的角度来看,它是一个;“一”;(且一致)应用程序的memcached服务器?

Google app engine 从逻辑的角度来看,它是一个;“一”;(且一致)应用程序的memcached服务器?,google-app-engine,memcached,Google App Engine,Memcached,这是一个关于幕后GAE的问题 好吧,这可能是一个愚蠢的问题,但我想弄清楚谷歌如何支持地理分布式数据中心,以及在这种情况下memcached使用了什么策略 从逻辑视图的角度来看,它是一个“一”(且一致)的应用程序memcached服务器?让我解释一下:使用memcached的最广为人知的案例之一是“页面视图计数”示例。好的,如果memcached是分布式/复制的(也就是说,key:value将在n+1台机器中分发和复制),我不能保证一个一致的值(或者类似的东西),因为计数值将除以n+1 另一种情况

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

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

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

另一种情况是,分布式/复制memcached可能会导致问题:我会使用一些未更新的实体值。 前任: 第一步。req webserver1+memcached1(执行一些查询并在memcached1中缓存entity1) 第二步。req webserver2+memcached2(更新entity1并在memcached2中使其无效)
第三步。req webserver1+memcached1(从memcached1获取entity1,但它是一个旧数据,因为它在数据存储中更新,在memcached2中无效,但在memcached1中无效!!)

在应用程序的所有实例中共享一个memcache

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


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

即使是地理分布应用程序?(例如:欧盟和美国)应用程序只能位于一个或其他数据中心位置,不能同时位于两个位置。你选择。所以它根本就不会出现-没有必要同步memcache。