2014-09-05 26 views
7

Tôi đã cố gắng tìm câu trả lời cho câu hỏi này và tất cả những gì tôi có thể tìm thấy là cũ "không có nó" hoặc "trong tương lai nó sẽ".Socket.io có hoạt động với Heroku không?

Tôi đã thử dùng socket.io-redis không có kết quả. Trên Heroku, một dyno sẽ tạo ra các ổ cắm làm việc, nhiều hơn thế và bạn sẽ nhận được các lỗi sau từ Socket.io, có nghĩa là không có mở rộng quy mô.

{ "code": 1, "message": "Session ID không rõ"}

Dường như với tôi WebSocket "hỗ trợ" Heroku tuyên bố có thực sự là một trò đùa độc ác trên các nhà phát triển.

Chỉnh sửa: Heroku hỗ trợ ổ cắm web, nhưng nó sẽ không hoạt động với cụm socket.io với Redis. Vì vậy, tôi chỉ chạy một trường hợp dành riêng cho ổ cắm. Khi tôi muốn sử dụng ổ cắm với Heroku.

Trả lời

2

tiết lộ: Tôi là chủ sở hữu nền tảng Node.js tại Heroku.

tl; dr: Chúng tôi có hỗ trợ multi-dyno socket.io trong phiên bản beta riêng tư.

Heroku có hỗ trợ đầy đủ cho WebSockets, không yêu cầu sự tương quan phiên và không giống như socket.io.

Socket.io là một trình trừu tượng thời gian thực mềm cấp cao hơn sử dụng WebSockets làm một trong nhiều phương tiện vận chuyển tiềm năng của nó. Socket.io hiện yêu cầu quan hệ phiên và mọi triển khai chia sẻ sự kiện đa nút của socket.io (trên Heroku hoặc ở nơi khác) sẽ yêu cầu socket.io-redis (hoặc tương tự).

Hầu hết các lần thực hiện các phiên cố định đều bị ngắt 12factor architecture. Chúng tôi đã có phiên bản beta linh hoạt, có thể mở rộng, có thể mở rộng được, đang chạy ngay bây giờ cho người dùng socket.io, meteor và sockjs. Gửi email cho tôi theo địa chỉ [email protected] nếu bạn muốn được thêm vào; chúng tôi sẽ mở nó cho công chúng trong vài tuần tới.

Các vấn đề liên quan