yêu cầu chế biến ẩn theo cách này là một mô hình chung cho khi bạn đang đối phó với một số lượng lớn các yêu cầu.
Cho dù bạn nên hoặc thậm chí có thể làm điều này được dựa trên một số yếu tố.
Yếu tố chính là: người gọi của bạn có cần xem phản hồi cho yêu cầu của họ một cách đồng bộ không?
Điều tôi ngụ ý là người gọi phải biết, ngay lập tức và chắc chắn tuyệt đối, nếu cơ sở dữ liệu đã cam kết thành công dữ liệu của họ như là một phần của phản hồi cuộc gọi? Nếu vậy, sau đó yêu cầu xử lý ngoại tuyến không thực sự là một lựa chọn. Tuy nhiên, nếu chấp nhận được rằng người gọi có thể được gửi phản hồi cho biết yêu cầu của họ sẽ được xử lý ngoại tuyến (và mọi phản hồi bắt buộc cũng được gửi ngoại tuyến) thì việc sử dụng hàng đợi chắc chắn sẽ mang lại lợi ích cho kiến trúc tổng thể của bạn.
Điều đầu tiên sẽ được hưởng lợi là các vấn đề về tính khả dụng của giao diện người dùng.
Nếu bạn đang xử lý hàng nghìn yêu cầu trong một khoảng thời gian ngắn và mỗi yêu cầu sẽ bị xóa và chèn dữ liệu vào cơ sở dữ liệu, rất có thể bạn sẽ gặp phải sự cố không tồn tại luồng điều phối nào yêu cầu dịch vụ đến.
Tuy nhiên, bằng cách giảm số lượng công việc back-end IIS đang thực hiện (ghi vào hàng đợi cục bộ thực sự rẻ so với cuộc gọi cơ sở dữ liệu), bạn cũng giảm khả năng thất bại dựa trên tính khả dụng.
Thứ hai bằng cách sử dụng hàng đợi, bạn sẽ có phương tiện điều chỉnh lưu lượng truy cập ngược, vì bạn có quyền kiểm soát thông lượng trên xử lý mặt sau.
Ví dụ: bạn có thể có một quy trình đọc hàng đợi đơn luồng, xóa một yêu cầu và xử lý yêu cầu đó vào cơ sở dữ liệu. Nếu bạn tìm thấy bạn có tin nhắn xây dựng trong hàng đợi bạn chỉ có thể quy mô ra các dịch vụ đọc hàng đợi bằng cách lưu trữ nhiều trường hợp của nó.
Điều này có nghĩa là bạn đang giảm khả năng nhận các vấn đề tranh chấp cơ sở dữ liệu vì bạn có quyền kiểm soát nhiều hơn số lượng chuỗi truy cập trên cơ sở dữ liệu cùng một lúc.
Vì vậy, bằng cách sử dụng xếp hàng bạn sẽ gặp phải ít lỗi hơn và có chi phí quản lý thấp hơn, đó là điểm nổi bật của các ứng dụng được viết tốt. Điều này đặc biệt là khi bạn đang xem xét lưu trữ cơ sở dữ liệu của bạn trên máy chủ web của bạn!
Ngoài ra, bạn cần phải đọc một mẫu kiến trúc có tên là CQRS, một trong các hiệu trưởng trung tâm là làm cơ sở dữ liệu của bạn viết ngoại tuyến.
Câu trả lời nứt Hugh, cảm ơn rất nhiều vì điều đó. Xác nhận những gì tôi nghi ngờ và nhiều hơn nữa! –
+ 1 để có sự so sánh và giải thích tuyệt vời về các tùy chọn. Cảm ơn nhiều. –