Memcache (memcacheD ではない) を使用しています。10 台の memcache サーバーがあり、そのうちの 1 台が失敗した場合、そのサーバーはプールから自動的に削除されますか? 私のアプリケーションがキャッシュを要求しようとすると、その 1 つの失敗したサーバーからキー データを取得しようとすることはありますか?
1 に答える
2
削除されるとは思いませんが、複数のノードを追加した場合は自動フェイルオーバーが提供されます。ここでフェイルオーバー動作を設定できます: http://php.net/manual/en/memcache.ini.php
ドキュメントからの引用は次のとおりです。
フェイルオーバーは、他のサーバーが利用可能である限り、どのメソッドのどの段階でも発生する可能性があり、ユーザーは要求に気付かないでしょう。あらゆる種類のソケットまたは Memcached サーバー レベルのエラー (メモリ不足を除く) により、フェイルオーバーがトリガーされる可能性があります。既存のキーの追加などの通常のクライアント エラーでは、フェイルオーバーはトリガーされません。
もちろん、アプリケーション側でシャーディング/クラスタリングを実装する必要があるため、これはすべてのデータがそれらのノードでミラーリングされていることを前提としています。
于 2012-08-02T10:20:36.417 に答える