Bagaimana memcache didistribusikan?

14

Saya menjalankan memcache di 5 server web yang semuanya ada dalam daftar host di php dan yang memuat seimbang di ujung depan. Jadi karena memcached seharusnya didistribusikan, klien php akan memutuskan simpul mana yang akan dituliskan pasangan kunci / nilai dan menyimpan catatan untuk pengambilan nanti dari simpul yang sama, kan?

Atau apakah kode klien php tidak cukup pintar untuk melakukan itu dan lebih tepatnya ia menulis data ke semua server dan kemudian secara acak mengambil satu dari kumpulan untuk dibaca?

Tetapi jika itu terjadi; menulis ke semua instance dalam daftar host / pool; lalu apa tujuan untuk alat seperti http://repcached.sourceforge.net/ yang mereplikasi data untuk redundansi.

Alasan yang saya tanyakan adalah karena semua server load seimbang menjalankannya dan jika memang menulis ke semua server di kolam renang maka sepertinya ia mengalahkan tujuan didistribusikannya, jadi saya harus memaksa php untuk menarik dari host. dalam daftar host yang adalah localhost.

Mike
sumber

Jawaban:

16

Pustaka Memecache bertanggung jawab untuk mengirim permintaan ke server yang benar. Perpustakaan menggunakan daftar yang Anda berikan untuk mengirim permintaan ke server yang berbeda dan memcache tidak melakukan replikasi.

Rujuk ke artikel jurnal Linux . Ini menjelaskan cara kerja memcache lebih terinci.

Sameer
sumber
Artikel bagus hanya yang saya butuhkan, terima kasih Sameer. Saya juga menemukan ini yang sangat membantu: code.google.com/p/memcached/wiki/NewConfiguringClient
Mike
Perhatikan bahwa memcache mempartisi data ke beberapa komputer berdasarkan kunci, yang berarti lebih baik untuk mendistribusikan pekerjaan secara merata di ruang kunci sehingga satu mesin tidak terkena semua lalu lintas jika semuanya untuk satu kunci.
lee penkman