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

Pemula aplikasi waktu nyata - Node.JS + Redis atau RabbitMQ -> klien/server bagaimana?

Secara arsitektur, kedua pilihan Anda sama seperti menyimpan data di server database Oracle untuk diambil oleh aplikasi lain.

Baik solusi RabbitMQ dan Redis mengharuskan aplikasi Anda terhubung ke server perantara yang menangani komunikasi data. Redis paling mirip dengan Oracle, karena dapat digunakan hanya sebagai database persisten dengan API jaringan. Tapi RabbitMQ sedikit berbeda karena MQ Broker tidak benar-benar bertanggung jawab untuk menyimpan data. Jika Anda mengonfigurasinya dengan benar dan menggunakan opsi yang tepat saat memublikasikan pesan, maka RabbitMQ sebenarnya akan menyimpan data untuk Anda, tetapi Anda tidak dapat mengeluarkan data kecuali sebagai bagian dari proses antrian pesan normal. Dengan kata lain, RabbitMQ adalah untuk mengomunikasikan pesan dan hanya menawarkan kegigihan sebagai cara untuk memulihkan dari masalah jaringan atau kerusakan sistem.

Saya sarankan menggunakan RabbitMQ dan bahasa pemrograman apa pun yang sudah Anda kenal. Karena M di LAMP biasanya ditafsirkan sebagai MySQL, ini berarti Anda tidak akan menggunakan MySQL sama sekali, atau hanya menggunakannya untuk penyimpanan data jangka panjang, bukan untuk komunikasi waktu nyata.

Situs RabbitMQ memiliki banyak sekali dokumentasi tentang membangun aplikasi dengan AMQP. Saya menyarankan bahwa setelah Anda menginstal RabbitMQ, Anda membaca dokumen untuk rabbitmqctl lalu buat vhost untuk bereksperimen. Dengan begitu, Anda dapat dengan mudah membersihkan eksperimen tanpa menyetel ulang semuanya. Saya juga menyarankan menggunakan hanya pertukaran topik karena Anda dapat meniru perilaku pertukaran langsung dan fanout dengan menggunakan wildcard di routing_key. Ingat, Anda hanya mempublikasikan pesan ke pertukaran, dan Anda hanya menerima pesan dari antrian. Pertukaran bertanggung jawab untuk mencocokkan pola routing_key pesan ke binding_key antrian untuk menentukan antrian mana yang harus menerima salinan pesan. Sangat bermanfaat untuk mempelajari keseluruhan model AMQP bahkan jika Anda hanya berencana untuk mengirim pesan ke satu antrian dengan nama yang sama dengan kunci_routing.

Jika Anda sedang membangun klien Anda di browser, dan Anda ingin membuat prototipe, maka Anda harus mempertimbangkan hanya menggunakan XHR hari ini, dan kemudian pindah ke sesuatu seperti Kamaloka-js yang merupakan implementasi Javascript murni dari AMQP (Protokol AMQ) yang adalah protokol standar yang digunakan untuk berkomunikasi dengan perantara pesan RabbitMQ. Dengan kata lain, bangun dengan apa yang Anda ketahui hari ini, dan kemudian percepat di kemudian hari dengan sesuatu (AMQP) yang memiliki masa depan jangka panjang di kotak peralatan Anda.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis C# - Menggunakan nilai Inc dalam transaksi

  2. Memulai dengan Redis Client API

  3. Tidak dapat mengikat pendengar TCP *:6379 menggunakan Redis di Windows

  4. Bagaimana cara menangkap redis.serializer.SerializationException

  5. Kegagalan cluster redis:budak tidak akan menjadi master