0

各 EC2 Web サーバー インスタンスで Memcached を使用しています。サーバー レベルで memcache ノードのさまざまなホスト名を構成する方法がわかりません。

次の例を検討してください。

<?php 
$mc = new Memcached() 
$mc->addServer('node1', 11211); 
$mc->addServer('node2', 11211); 
$mc->addServer('node3', 11211);

、、はどのようnode1に構成されていますか?node2node3

これらのエントリを使用してインスタンスを構成しhostname、更新するためのいくつかのセットアップについて読みました。/etc/hostしかし、私はそのような設定に十分慣れていません。

インスタンスの追加と削除を処理し、自動でスケーリングするソリューションを探しています。

4

1 に答える 1

0

これの難しさは、アプリケーション内でホストの最新リストを維持することです。ホストが追加および削除される可能性がある場合、このリストを最新の状態に保つことは困難な場合があります。アプリケーションに一定のエンドポイントを提供することで役立つ、ある種のプロキシを使用できる場合があります。

プロキシを使用できない場合は、いくつかのアイデアがあります。

  1. ホストのリストが静的な場合は、各 memcached ホストにエラスティック IP を割り当てます。ec2 リージョン内では、関連付けられているホストのローカル IP アドレスに解決されます。この考え方により、アプリケーションが使用できるホストの一定のリストが得られます。

  2. 定期的にホストを追加/リモートする場合は、アプリケーションが使用するホストのリストを動的に更新できる必要があります。特定のタグを持つインスタンスの EC2 API を照会し、それらすべてのインスタンスの IP アドレスを取得できます。リストをメモリまたはディスクにキャッシュし、アプリケーションでロードします。これを毎分実行すると、EC2 API の更新が遅い場合を除き、ホストの変更は 1 分以内に反映されます。

于 2013-02-19T23:37:33.150 に答える