Tôi đã chiến đấu với cluster và socket.io. Mỗi khi tôi sử dụng chức năng cụm (mặc dù tôi sử dụng cụm Nodejs tích hợp sẵn), tôi gặp rất nhiều vấn đề về hiệu suất và các vấn đề với socket.io.
Trong khi cố gắng nghiên cứu vấn đề này, tôi đã tìm hiểu các báo cáo lỗi và tương tự trên git socket.io và bất kỳ ai sử dụng cụm hoặc bộ cân bằng tải bên ngoài cho máy chủ của họ dường như gặp sự cố với socket.io.
Nó dường như tạo ra vấn đề "khách hàng không bắt tay khách hàng nên kết nối lại" mà bạn sẽ thấy nếu bạn tăng ghi nhật ký dài dòng. Điều này xuất hiện rất nhiều bất cứ khi nào socket.io chạy trong một cụm, vì vậy tôi nghĩ rằng nó sẽ trở lại trạng thái này. I.E máy khách được kết nối với phiên bản ngẫu nhiên trong cụm socket.io mỗi khi nó thực hiện một kết nối mới (nó thực hiện một số kết nối http / socket / flash khi cấp quyền và hơn thế nữa sau đó khi thăm dò dữ liệu mới).
Hiện tại, tôi đã hoàn nguyên về chỉ sử dụng 1 quy trình socket.io tại một thời điểm, đây có thể là một lỗi nhưng cũng có thể là một thiếu sót về cách socket.io được xây dựng.
Đã thêm:Cách giải quyết vấn đề này của tôi trong tương lai sẽ là chỉ định một cổng duy nhất cho mỗi phiên bản socket.io bên trong cụm và sau đó chọn cổng bộ đệm ở phía máy khách.