どの memcache API/ラッパーでもかまいません。PHP の CURL メソッドを使用して独自のものを構築することもできます。
1) リクエストごとにすべてのサーバーがプルされ、ネットワーク遅延が発生しますか?
いいえ。アプリケーションがリクエストを行うと、単一のサーバーに接続しようとし、失敗、NOT_FOUND、タイムアウトなどの場合に次のサーバーに「ゴーフィッシュ」します。多少のネットワーク遅延が発生する場合がありますが、データベースとの対話よりもはるかに少なくなります。I/O と待ち時間が気になる場合は、アプリケーション内でシンプルなソリューションを構築できるはずです。
2) リクエストは引き続きオフライン サーバーに対して行われますか?
君による。システムはダウンしていますが、アプリケーションはまだシステムに接続しようとしている可能性があります。PECL の memcache API を使用することにした場合、アプリケーションは、特定のサーバーで memcached が正常に動作しているかどうかを識別できる必要があります。Memcache::checkServerStatus
2.1) memcache.allow_failover は何をしますか?
これはまさにそれが言うことを行います。memcached サーバーA、B、およびDがある場合。そして、サーバーAがダウンします。どちらのオプションも USER_NOTICE を発行します。ただし、memcache.allow_failover=1
引き続きサーバーBに進み、読み取りと書き込みを許可します。memcache.allow_failover=0
すべての memcache I/O が正常に false を返す場合。
ドキュメントをチェックアウトします。
3) Memcached サーバーのレポート
Memcached はstats
コマンドを提供し、PECL の memcache もstatusメソッドを提供します。ただし、それらはメモリ/スラブ統計に関連しています。使用状況の監視レポートが必要な場合は、New Relicをチェックしてください。