Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Redis Vs RabbitMQ sebagai perantara data/sistem pesan di antara Logstash dan elasticsearch

Setelah mengevaluasi Redis dan RabbitMQ, saya memilih RabbitMQ sebagai broker kami karena alasan berikut:

  1. RabbitMQ memungkinkan Anda menggunakan lapisan keamanan bawaan dengan menggunakan sertifikat SSL untuk mengenkripsi data yang Anda kirim ke broker dan itu berarti tidak ada yang akan mengendus data Anda dan memiliki akses ke data organisasi penting Anda.
  2. RabbitMQ adalah produk yang sangat stabil yang dapat menangani sejumlah besar peristiwa per detik dan banyak koneksi tanpa hambatan.
  3. Di organisasi kami, kami telah menggunakan RabbitMQ dan memiliki pengetahuan internal yang baik tentang penggunaannya dan integrasi yang sudah disiapkan dengan chef.

Mengenai penskalaan, RabbitMQ memiliki implementasi cluster bawaan yang dapat Anda gunakan selain penyeimbang beban untuk menerapkan lingkungan broker yang berlebihan.

Apakah cluster RabbitMQ saya Aktif Aktif atau Aktif Pasif?

Sekarang ke titik lemah menggunakan RabbitMQ:

  1. kebanyakan pengirim Logstash tidak mendukung RabbitMQ tetapi di sisi lain, yang terbaik, bernama Beaver, memiliki implementasi yang akan mengirim data ke RabbitMQ tanpa masalah.
  2. Implementasi yang dimiliki Beaver dengan RabbitMQ dalam versi saat ini sedikit lambat pada kinerja (untuk tujuan saya) dan tidak mampu menangani tingkat 3000 kejadian/detik dari satu server dan dari waktu ke waktu layanan macet.
  3. Saat ini saya sedang mengerjakan perbaikan yang akan memecahkan masalah kinerja untuk RabbitMQ dan membuat pengirim Beaver lebih stabil. Solusi pertama adalah menambahkan lebih banyak proses yang dapat berjalan secara bersamaan dan akan memberikan kekuatan lebih kepada pengirim. Solusi kedua adalah mengubah Beaver untuk mengirim data ke RabbitMQ secara asinkron yang secara teoritis seharusnya jauh lebih cepat. Saya harap saya akan menyelesaikan penerapan kedua solusi pada akhir minggu ini.

Anda dapat mengikuti masalah di sini:https://github.com/josegonzalez/python-beaver/issues/323

Dan periksa permintaan tarik di sini:https://github.com/josegonzalez/python-beaver/pull/324

Jika Anda memiliki pertanyaan lebih lanjut, silakan tinggalkan komentar.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Twisted:mengapa melewatkan panggilan balik yang ditangguhkan ke utas yang ditangguhkan membuat utas tiba-tiba memblokir?

  2. Timeout melakukan SET {Kunci}, inst:0, mgr:Tidak aktif, antrian:2, qu=1, qs=1, qc=0, wr=1/1, in=0/0

  3. Pencadangan AOF dan RDB dalam redis

  4. Langkah pertama dengan Redis

  5. budak redis tidak akan disinkronkan dengan master