Tôi đang lập kế hoạch xây dựng một ứng dụng sẽ nhận được một lượng lưu lượng truy cập lớn. (Xin đừng nói rằng tôi sẽ không nhận được lưu lượng truy cập, điều này là dành cho mạng nội bộ, vì vậy lưu lượng truy cập sẽ ở đó. Chỉ cần cố gắng tránh 'Bạn sẽ không nhận được nhiều lưu lượng truy cập, đừng lo lắng về điều đó.)Điều gì tạo nên một trang web cần phải mở rộng quy mô?
Đối với loại lưu lượng truy cập nào tôi mong đợi, người dùng sẽ duyệt qua các tạo động khác nhau (dựa trên chi tiết tài khoản người dùng). Trên các trang web đó, người dùng có thể gửi đầu vào văn bản. Cả hai tải các trang và xử lý đầu vào của người dùng sẽ nhấn vào cơ sở dữ liệu. Tải rõ ràng sẽ được đọc, nhưng xử lý đầu vào sẽ yêu cầu cả hai lần đọc & viết. Các đầu vào cũng có thể ảnh hưởng đến các chế độ xem của người dùng khác. Nếu điều này xảy ra, tôi sẽ cần phải thông báo cho những người dùng khác làm mới trang.
Tôi cần phải làm những việc gì để không chỉ đơn giản là gặp sự cố với số lượng người dùng lớn?
Điều gì sẽ trở thành yếu tố hạn chế? Cơ sở dữ liệu? I/O với giao diện người dùng?
Tôi chưa bao giờ thực sự phát triển một ứng dụng web nghiêm túc trước đây và đang tìm kiếm trợ giúp.
EDIT: Tôi đã cân nhắc việc sử dụng Erlang cho chương trình phụ trợ vì tôi đã sử dụng nó một chút và thực sự thích tất cả các công cụ tương tranh. Đây có phải là một sự lựa chọn khả thi hay tôi nên thử một thứ gì đó truyền thống hơn?
Xem http://highscalability.com/ - các bài viết rất thú vị về chính xác chủ đề của bạn. Đặc biệt là các trường hợp thực tế và giải thích (mặc dù terse) là wortwhile để đọc. –
Vui lòng giải thích về loại lưu lượng truy cập bạn mong muốn có. Sẽ có tải lên/tải xuống tệp lớn không? Nó có tương tác không? Nó sẽ là một trong những ứng dụng chính trong mạng đó? Hoặc chỉ cần nhấp và xem các trang tĩnh vài lần một ngày? – stagas
Thuộc về ServerFault, methinks. –