Rasanya konyol membandingkan kedua server ini karena mereka dimaksudkan untuk hal yang sangat berbeda. Tetapi jika Anda memikirkannya, mereka dapat melakukan banyak hal serupa: menyimpan data konfigurasi, penguncian terdistribusi, antrian, dll.
Saya punya contoh Redis yang saya gunakan untuk beberapa hal yang berkaitan dengan produksi, tetapi ingin melakukan sinkronisasi sederhana antara server (kebanyakan perubahan konfigurasi yang tidak memerlukan mendorong kode dan penguncian sederhana antara server). Apa yang diberikan Zookeeper kepada saya bahwa Redis tidak akan melakukannya?
database
synchronization
redis
Jason Baker
sumber
sumber
Jawaban:
Kami menggunakan Redis dan Zookeeper di kantor, jadi ini dari pengalaman langsung
Redis cepat; sangat, sangat cepat. Ini juga langsung konsisten, sehingga bagus untuk set data yang bergerak cepat. Kelemahannya adalah, berjalan di satu server, jika gagal maka Anda kehilangan akses tulis sampai server lain mengambil tempat itu. Mengganti server adalah operasi manual kecuali jika Anda mengotomatiskannya sendiri. (Anda masih bisa mendapatkan akses baca ke data Anda jika Anda mengkonfigurasi instance slave).
Zookeeper juga segera menghadirkan konsistensi. Ini tidak setengah cepat, tetapi akan pulih secara otomatis (jika mungkin) dalam menghadapi kegagalan, jadi jika Anda memerlukan akses tulis terus menerus, bahkan ketika server Anda gagal pada Anda maka Anda akan ingin menggunakan Zookeeper.
Saran saya adalah, gunakan penjaga kebun binatang untuk koordinasi: melacak simpul mana yang aktif, pemilihan pemimpin di antara suatu kelompok, dll. Gunakan redis untuk kumpulan data yang membutuhkan penulisan cepat tetapi di mana pemadaman yang sesekali bukan bencana. Penghitung klik untuk halaman web misalnya.
sumber