Pertanyaan Apakah Socket.io bekerja sama dengan Heroku?


Saya sudah mencoba mencari jawaban atas pertanyaan ini dan yang saya temukan adalah lama "tidak, tidak" atau "di masa depan itu akan terjadi".

Saya sudah mencoba socket.io-redis tanpa hasil. Pada Heroku, satu dyno akan membuat soket yang berfungsi, lebih dari itu dan Anda akan mendapatkan kesalahan berikut dari Socket.io, yang berarti tidak ada skala yang terjadi.

{"code": 1, "message": "Session ID tidak dikenal"}

Sepertinya saya WebSocket "mendukung" klaim Heroku untuk memiliki benar-benar lelucon yang kejam pada pengembang.

Edit: Heroku mendukung websockets, tetapi itu tidak akan berfungsi dengan socket.io mengelompokkan dengan Redis. Jadi saya hanya menjalankan satu contoh yang didedikasikan untuk soket. Ketika saya ingin menggunakan soket dengan Heroku.


7
2017-09-05 05:46


asal


Jawaban:


pengungkapan: Saya pemilik platform Node.js di Heroku.

tl; dr: Kami memiliki dukungan multi-dyno socket.io dalam beta pribadi.

Heroku memiliki dukungan penuh untuk WebSockets, yang tidak memerlukan afinitas sesi, dan tidak sama dengan socket.io.

Socket.io adalah abstraksi soft-real level yang lebih tinggi yang menggunakan WebSockets sebagai salah satu dari banyak potensi transportasinya. Socket.io tidak membutuhkan afinitas sesi, dan setiap implementasi pembagian-kejadian multi-node dari socket.io (pada Heroku atau di tempat lain) akan memerlukan socket.io-redis (atau serupa).

Sebagian besar implementasi sesi lengket putus Arsitektur 12faktor. Kami punya versi beta yang fleksibel, skalabel, dan dapat dilepas saat ini untuk pengguna socket.io, meteor, dan sockjs. Kirimi saya email di hunter@heroku.com jika Anda ingin ditambahkan; kami akan membukanya ke publik dalam beberapa minggu ke depan.


2
2018-04-23 23:06