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

Bagaimana saya bisa menerapkan antrian terdistribusi konkurensi tunggal ini di platform MQ apa ​​pun?

Anda dapat mencapai ini menggunakan daftar Redis dengan antrean "pengiriman" tambahan yang BRPOP semua pekerja untuk pekerjaan mereka. Setiap pekerjaan dalam antrian pengiriman diberi tag dengan ID antrian asli, dan ketika pekerja telah menyelesaikan pekerjaan itu pergi ke antrian asli ini dan melakukan RPOPLPUSH ke antrian pengiriman untuk membuat pekerjaan berikutnya tersedia untuk pekerja lain. Oleh karena itu, antrian pengiriman akan memiliki maksimum num_queues elemen.

Satu hal yang harus Anda tangani adalah populasi awal antrian pengiriman saat antrian sumber kosong. Ini bisa saja berupa pemeriksaan yang dilakukan oleh penerbit terhadap tanda "kosong" untuk setiap antrian yang disetel pada awalnya, dan juga disetel oleh pekerja ketika tidak ada yang tersisa dalam antrian asli untuk dikirim. Jika tanda ini disetel, penerbit cukup LPUSH pekerjaan pertama langsung ke antrian pengiriman.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Seledri/Redis tugas yang sama dieksekusi beberapa kali secara paralel

  2. Mendapatkan nilai dengan pipa jedis

  3. Bagaimana cara menggunakan redis' `DUMP` dan `RESTORE` (offline)?

  4. Menghentikan interaksi Redis dalam javascript menggunakan Sinon

  5. Cara yang baik untuk menggunakan socket.io dengan cluster di server multi-core?