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

Saya menerima pesan duplikat di aplikasi node.js/socket.io/redis pub/sub saya yang berkerumun

Saya telah berjuang dengan cluster dan socket.io. Setiap kali saya menggunakan fungsi cluster (saya menggunakan cluster Nodejs bawaan) saya mendapatkan banyak masalah kinerja dan masalah dengan socket.io.

Saat mencoba meneliti ini, saya telah menggali laporan bug dan sejenisnya di socket.io git dan siapa pun yang menggunakan cluster atau penyeimbang beban eksternal ke server mereka tampaknya memiliki masalah dengan socket.io.

Tampaknya menghasilkan masalah "klien bukan jabat tangan klien harus menyambung kembali" yang akan Anda lihat jika Anda meningkatkan pencatatan verbose. Ini sering muncul setiap kali socket.io berjalan dalam sebuah cluster jadi saya pikir itu kembali ke ini. Yaitu klien terhubung ke instance acak di cluster socket.io setiap kali melakukan koneksi baru (ia melakukan beberapa koneksi http/socket/flash saat mengotorisasi dan lebih banyak lagi nanti saat polling untuk data baru).

Untuk saat ini saya kembali menggunakan hanya 1 proses socket.io pada satu waktu, ini mungkin bug tetapi juga bisa menjadi kekurangan bagaimana socket.io dibangun.

Ditambahkan:Cara saya untuk menyelesaikan ini di masa mendatang adalah dengan menetapkan port unik untuk setiap instance socket.io di dalam cluster dan kemudian memilih port cache di sisi klien.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memahami caching Laravel:Fasad cache dan Redis

  2. Bagaimana saya bisa mengonversi satu byte ke seluruh string hex?

  3. Django - Cara menggunakan antrian tugas asinkron dengan seledri dan redis

  4. Cara mengatur penangan di RedMQ dari acara yang diangkat di domain saya

  5. Menggunakan jedis cara menulis ke slot/node tertentu di redis cluster