Tôi không thực sự nói về ứng dụng trò chuyện chung, nhưng đặc biệt là về việc thực hiện phòng chat.Thảo luận: Cách tốt nhất để triển khai phòng trò chuyện với node.js/socket.io?
Vì vậy, trong Node.js/socket.io, tôi nghĩ đến hai cách tiếp cận
Tạo một mảng cho mỗi phòng chat, tin nhắn quảng bá đến tất cả người dùng trong mảng
Chương trình phát sóng tất cả các tin nhắn đến tất cả người dùng, trên máy tính của khách hàng xác định xem họ có thuộc về phòng chat hay không, nếu có, hãy chấp nhận tin nhắn.
Điểm yếu trong 1 là cuối cùng bạn mở rộng bộ nhớ của máy chủ với các đối tượng mảng và tôi chỉ sử dụng khoảng 80MB khi lưu trữ.
Điểm yếu trong 2 là phát sóng tới mọi người là tốn kém và cuối cùng làm ngập lụt máy của khách hàng sẽ không khiến họ hài lòng.
Tôi chắc chắn có cách tiếp cận tốt hơn về cách triển khai phòng trò chuyện, vì vậy đó là lý do tôi yêu cầu các bạn giúp tôi. Tôi đang tìm kiếm hiệu suất ở phía máy chủ đầu tiên sau đó phía máy khách và nó phải có khả năng mở rộng.
Với 80MB, bạn có thể tạo ra rất nhiều chatroom. Các mảng của bạn chỉ cần giữ ID của người dùng. Bạn có chạy bất kỳ kiểm tra tiêu thụ bộ nhớ nào không? – user123444555621
Chúng tôi đã thực hiện một chức năng [phòng chat nhiều phòng] (https://github.com/Raynos/so642). Đó là mã nguồn mở, hãy nhìn. – Raynos
@ pumbaa80 đúng, nhưng 80mb trở thành như 20-30mb sau khi chạy rất nhiều quy trình khác hoặc công việc cron mà tôi có thể cần, cộng với tôi vẫn không nghĩ rằng đó là một cách tốt để tăng quy mô vì bộ nhớ là đắt ... – Derek