単一の Google App Engine アプリケーションを複数の地域に展開する最善の方法を見つけようとしています。
同じコードが使用されますが、保存されるデータは各地域に固有です。動機付けとなる例としては、yelp.com や Urbanspoon などのハイパーローカル レビュー サイトが挙げられます。このサイトでは、レビュー対象のレストランやその他のビジネスが特定の地域に限定されています (boston.app.com、seattle.app.com など)。
いくつかのオプションは次のとおりです。
複数の GAE アプリケーションを作成し、それらの間でコードを複製します。
単一の GAE アプリケーションを作成し、すべてのリージョンのすべてのデータを同じデータストアに保存します。各モデルのリージョン識別子フィールドは、関連するリージョンを区切ります。
いくつかのトレードオフ:
オプション 2 はますます非効率になるようです (スペース: すべてのモデルの各レコードのリージョン識別子を複製する; 時間: すべてのクエリの識別子でフィルタリング/インデックスを作成する)。
オプション 1 では、リージョンごとにアプリ ID が必要ですが、GAE ではアカウントごとに 10 個のアプリしか許可されません。さらに、すべてのリージョンにコードをデプロイし、データストアを移行することは、管理が面倒なようです。
理想的な世界では、アプリケーション インスタンスは 1 つです。そのインスタンスから、サブドメイン間をルーティングし (ここのように)、サブドメインごとに個別のデータストアを持つことができました。しかし、GAE ではアプリケーションごとに 1 つのデータストアしか許可されないと思います。
この問題を解決する最善の方法についてアイデアを持っている人はいますか? または、私が考慮していないオプションはありますか?
御時間ありがとうございます!