Tôi đã là một nhà phát triển ứng dụng web ruby / php trong một thời gian và tôi đã quen với ý tưởng mở rộng ngang các phiên bản máy chủ để xử lý nhiều yêu cầu hơn. Chia tỷ lệ ngang - có nghĩa là các trường hợp riêng biệt của một ứng dụng nằm phía sau bộ cân bằng tải không chia sẻ gì và không biết lẫn nhau.NodeJS chia tỷ lệ ngang
Câu hỏi chính của tôi là Node.js và nhấn mạnh vào một hộp duy nhất chạy một máy chủ node.js để xử lý 'hàng nghìn' yêu cầu đồng thời - là cân bằng tải/tỷ lệ ngang được sử dụng thế nào để mở rộng các ứng dụng nodejs? Việc mở rộng quy mô một ứng dụng nút có bị giới hạn ở việc chia tỷ lệ theo chiều dọc hay không (ném thêm RAM/Xử lý nguồn vào vấn đề)?
Câu hỏi thứ hai của tôi phải thực hiện với quy mô ngang và ổ cắm web node.js. Tôi đã nhìn thấy khá một vài hướng dẫn 'trò chuyện' của Node.js trên mạng để sử dụng các websockets. (yêu thích: http://martinsikora.com/nodejs-and-websocket-simple-chat-tutorial)
Vì các websockets giữ một đường truyền mở mở giữa trình duyệt và máy chủ hiệu quả, nên kiến trúc theo chiều ngang điển hình của thế giới PHP/Ruby gây ra một ứng dụng trò chuyện như được giải thích trong liên kết để phá vỡ - như các yêu cầu kết nối websocket mới sẽ được gán cho các tiến trình/máy chủ khác nhau và sẽ không có một tài nguyên trung tâm nào theo dõi tất cả các máy khách được kết nối?
Đây là câu hỏi cũ nhưng tôi đang sử dụng mongodb để lưu trữ và truy xuất tất cả dữ liệu ứng dụng trò chuyện của tôi. Vì tôi muốn quy mô theo chiều ngang ứng dụng của mình vì ứng dụng trò chuyện của tôi không hoạt động khi tôi có nhiều máy chủ. Tôi nên làm gì nếu tôi loại bỏ mongodb hoàn toàn và sử dụng redis? Hoặc là có một giải pháp tốt hơn. – DragonBorn