0

それは舞台裏でのGAEについての質問です。

わかりました、それはばかげた質問かもしれませんが、私はグーグルが地理的に分散したデータセンターをどのようにサポートできるか、そしてこの場合memcachedでどのような戦略が使われるかを理解したいと思います。

ロジックビューの観点では、アプリごとに「1つの」(そして一貫性のある)memcachedサーバーですか?説明させてください。memcachedを使用する最もよく知られているケースの1つは、「ページビューカウント」サンプルです。ええと、memcachedが分散/複製されている場合(つまり、key:valueはn + 1台のマシンで分散および複製されます)、カウント値はで除算されるため、一貫した値(またはこのようなもの)を保証することはできませんn+1。

分散/複製されたmemcachedが問題を引き起こす可能性がある別のケース:更新されていないエンティティ値を使用します。例:ステップ1. req webserver1 + memcached1(いくつかのクエリを実行してentity1をmemcached1にキャッシュします)ステップ2. req webserver2 + memcached2(entity1を更新してmemcached2で無効にします)ステップ3. req webserver1 + memcached1(memcached1からentity1を取得しますが、古いデータ。データストアで更新されたため、memcached2では無効になりましたが、memcached1では無効になりません!!)

4

1 に答える 1

1

単一のmemcacheは、アプリケーションのすべてのインスタンス間で共有されます。

どのインスタンスが値を入力または取得するかは関係ありません。それらはすべて同じストレージを共有します。

そうです、それはアプリによるものです。

于 2013-01-10T16:36:15.687 に答える