memcacheはどのように配布されますか?


14

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

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

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

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

回答:


16

Memecacheライブラリは、リクエストを正しいサーバーに送信する役割を果たします。ライブラリは、指定されたリストを使用してリクエストを別のサーバーに送信し、memcacheは複製を行いません。

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


必要なだけのすばらしい記事、Sameerに感謝します。また、非常に役立つこのコード
Mike

memcacheはキーに基づいてデータを複数のコンピューターに分割することに注意してください。つまり、1つのキーがすべてのトラフィックですべてのトラフィックにヒットしないように、キースペースに均等に作業を分散することができます。
リーペンマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.