Tôi không có kinh nghiệm xử lý các trang web giao dịch khối lượng lớn và gần đây đã xem qua câu hỏi thú vị này. Tôi quan tâm đến việc biết nơi mà các nút cổ chai trong một ứng dụng web Java sẽ xảy ra dưới tải cao (hàng ngàn yêu cầu mỗi giây). Nếu ai đó có thể cho tôi một cách tiếp cận cấp cao để suy nghĩ về câu hỏi sau, điều đó sẽ rất tuyệt vời!Ứng dụng web giao dịch số lượng lớn dựa trên Java
Điều duy nhất tôi tìm ra là sử dụng memcached để lưu trữ bộ nhớ cache nhưng tôi không biết cách tính lượng thời gian mà mỗi yêu cầu sẽ thực hiện và do đó có bao nhiêu yêu cầu trên giây có thể xử lý.
Câu hỏi: Ứng dụng quy mô Internet phải được thiết kế để xử lý khối lượng giao dịch lớn. Mô tả thiết kế cho hệ thống phải xử lý trung bình 30.000 yêu cầu HTTP mỗi giây. Đối với mỗi yêu cầu, hệ thống phải thực hiện tra cứu từ điển 50 triệu từ, sử dụng từ khóa được chuyển qua chuỗi truy vấn URL. Mỗi câu trả lời sẽ bao gồm một chuỗi chứa định nghĩa của từ (100 byte trở xuống).
Mô tả các thành phần chính của hệ thống và lưu ý thành phần nào phải là được tạo tùy chỉnh và thành phần nào có thể tận dụng các ứng dụng của bên thứ ba. Bao gồm các ước tính phần cứng cho mỗi thành phần. Xin lưu ý rằng thiết kế phải bao gồm hiệu suất tối đa với chi phí cấp phép phần cứng/phần mềm tối thiểu.
Ghi lại lý do trong việc đưa ra các ước tính.
Mô tả cách thiết kế sẽ thay đổi nếu định nghĩa là 10 kilobyte.