Setelah mengevaluasi Redis dan RabbitMQ, saya memilih RabbitMQ sebagai broker kami karena alasan berikut:
- RabbitMQ memungkinkan Anda untuk 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 penting organisasi Anda.
- RabbitMQ adalah produk yang sangat stabil yang dapat menangani sejumlah besar kejadian per detik dan banyak koneksi tanpa harus menjadi penghambat.
- Di organisasi kami, kami sudah menggunakan RabbitMQ dan memiliki pengetahuan internal yang baik tentang penggunaannya dan integrasi yang sudah disiapkan dengan chef.
Mengenai penskalaan, RabbitMQ memiliki implementasi klaster bawaan yang dapat Anda gunakan selain penyeimbang beban untuk mengimplementasikan lingkungan pialang yang redundan.
Apakah klaster RabbitMQ saya Aktif Aktif atau Pasif Aktif?
Sekarang ke titik lemah menggunakan RabbitMQ:
- kebanyakan pengirim Logstash tidak mendukung RabbitMQ tetapi di sisi lain, yang terbaik, bernama Beaver, memiliki implementasi yang akan mengirim data ke RabbitMQ tanpa masalah.
- Implementasi yang dimiliki Beaver dengan RabbitMQ dalam versi saat ini agak lambat dalam kinerjanya (untuk tujuan saya) dan tidak mampu menangani tingkat 3000 kejadian / detik dari satu server dan dari waktu ke waktu layanan macet.
- Saat ini saya sedang mengerjakan perbaikan yang akan menyelesaikan 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 lebih banyak kekuatan kepada pengirim. Solusi kedua adalah mengubah Beaver untuk mengirim data ke RabbitMQ secara asynchronous yang secara teori akan lebih cepat. Saya berharap saya akan menyelesaikan penerapan kedua solusi tersebut pada akhir minggu ini.
Anda dapat mengikuti masalahnya 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 lain, silakan tinggalkan komentar.
Redis dibuat sebagai penyimpanan data nilai kunci meskipun memiliki beberapa kemampuan broker pesan dasar .
RabbitMQ dibuat sebagai broker pesan. Ini memiliki banyak kemampuan broker pesan secara alami.
sumber
Saya telah melakukan beberapa penelitian tentang topik ini. Jika kinerja itu penting dan ketekunan bukan, RabbitMQ adalah pilihan yang sempurna. Redis adalah teknologi yang dikembangkan dengan tujuan berbeda.
Berikut ini adalah daftar pro untuk menggunakan RabbitMQ dibandingkan Redis:
Beberapa kontra untuk menggunakan RabbitMQ:
sumber
Sorted Sets
yang memungkinkan interaksi seperti antrian prioritas. Redis juga dapat dikelompokkan / dibagi untuk mengirim pesan yang berbeda ke antrian yang berbeda di server yang berbeda. Tidak yakin tentang SSL langsung untuk Redis, tetapi saya melihat AWS Elasticache dan Redis 3.2.6 mereka memungkinkan enkripsi saat istirahat dan dalam transit. Catatan: sama sekali tidak mengatakan Redis lebih baik untuk kasus ini; hanya menunjukkan bahwa itu mungkin bukan alasan untuk memilih RabbitMQ daripada Redis.Saya telah bertanya-tanya hal yang sama. Rekomendasi sebelumnya oleh orang-orang Logstash merekomendasikan Redis melalui RabbitMQ ( http://logstash.net/docs/1.1.1/tutorials/getting-started-centralized ), namun bagian catatan itu tidak lagi ada dalam dokumentasi saat ini meskipun ada catatan umum tentang cara menggunakan broker untuk menangani lonjakan di sini https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html .
Meskipun saya juga menggunakan RabbitMQ dengan cukup senang, saat ini saya sedang menjelajahi broker Redis, karena protokol AMQP kemungkinan besar berlebihan untuk kasus penggunaan logging saya.
sumber
Pertanyaan cepat untuk ditanyakan:
Di ranah opini, saya menjalankan redis sebagai broker, dan membencinya. Tentu saja, itu bisa jadi karena saya tidak berpengalaman dengan redis (bukan masalah dengan produk itu sendiri), tetapi itu adalah tautan terlemah dalam pipa dan selalu gagal saat kami sangat membutuhkannya.
sumber