web-dev-qa-db-ja.com

memcacheはどのように分散されますか?

5つのWebサーバーでmemcacheを実行しています。これらはすべてphpのホストリストにあり、フロントエンドで負荷分散されています。 memcachedは配布されることになっているので、phpクライアントはキー/値のペアを書き込むノードを決定し、同じノードから後で取得できるようにレコードを保持しますか?

または、phpクライアントコードはそれを行うのに十分スマートではなく、むしろすべてのサーバーにデータを書き込んでから、プールから1つをランダムに選択して読み取りますか?

しかし、それがそうなら;ホストリスト/プール内のすべてのインスタンスに書き込みます。次に、冗長性のためにデータを複製する http://repcached.sourceforge.net/ のようなツールの目的は何ですか。

私が尋ねる理由は、すべての負荷分散サーバーがそれを実行しているためであり、実際にプール内のすべてのサーバーに書き込みを行うと、分散されている目的に反するように見えるため、phpをホストから強制的にプルする必要がありますlocalhostであるホストリスト内。

14
Mike

Memecacheライブラリは、リクエストを正しいサーバーに送信する責任があります。ライブラリは、提供されたリストを使用してリクエストをさまざまなサーバーに送信し、memcacheはレプリケーションを行いません。

Linuxジャーナルの記事 を参照してください。 memcacheの仕組みについて詳しく説明します。

16
Sameer