3

Memcache (memcacheD ではない) を使用しています。10 台の memcache サーバーがあり、そのうちの 1 台が失敗した場合、そのサーバーはプールから自動的に削除されますか? 私のアプリケーションがキャッシュを要求しようとすると、その 1 つの失敗したサーバーからキー データを取得しようとすることはありますか?

4

1 に答える 1

2

削除されるとは思いませんが、複数のノードを追加した場合は自動フェイルオーバーが提供されます。ここでフェイルオーバー動作を設定できます: http://php.net/manual/en/memcache.ini.php

ドキュメントからの引用は次のとおりです。

フェイルオーバーは、他のサーバーが利用可能である限り、どのメソッドのどの段階でも発生する可能性があり、ユーザーは要求に気付かないでしょう。あらゆる種類のソケットまたは Memcached サーバー レベルのエラー (メモリ不足を除く) により、フェイルオーバーがトリガーされる可能性があります。既存のキーの追加などの通常のクライアント エラーでは、フェイルオーバーはトリガーされません。

もちろん、アプリケーション側でシャーディング/クラスタリングを実装する必要があるため、これはすべてのデータがそれらのノードでミラーリングされていることを前提としています。

于 2012-08-02T10:20:36.417 に答える