Yêu cầu đồng bộ
Một Yêu cầu Đồng bộ là mẫu giao tiếp chặn được sử dụng trong ngữ cảnh web và lập trình.
Định nghĩa
Một Yêu cầu Đồng bộ đề cập đến một cuộc gọi HTTP hoặc API nơi khách hàng yêu cầu tạm dừng thực thi thêm cho đến khi máy chủ trả về phản hồi. Trong mẫu này, luồng điều khiển vẫn giữ nguyên trạng thái dừng, khiến khách hàng phải chờ kết quả trước khi tiếp tục bước tiếp theo. Điều này khác với các yêu cầu bất đồng bộ, nơi khách hàng tiếp tục thực thi trong khi chờ phản hồi. Yêu cầu đồng bộ dễ triển khai và dễ suy luận nhưng có thể gây ra điểm nghẽn hiệu suất hoặc treo giao diện người dùng nếu được sử dụng quá mức. Chúng phổ biến trong các quy trình tuần tự nơi kết quả tức thì là cần thiết.
Ưu điểm
- Thứ tự thực thi có thể dự đoán được - dễ theo dõi và gỡ lỗi.
- Xử lý phản hồi tức thì mà không cần callback hoặc vòng lặp sự kiện.
- Truyền lỗi trực tiếp về người gọi một cách đơn giản.
- Hữu ích khi logic tiếp theo phụ thuộc nghiêm ngặt vào kết quả.
- Được hỗ trợ rộng rãi bởi các thư viện HTTP và API tiêu chuẩn.
Nhược điểm
- Chặn việc thực thi, có thể gây chậm hiệu suất trong giao diện người dùng hoặc script tự động hóa.
- Có thể khiến ứng dụng không phản hồi nếu độ trễ máy chủ cao.
- Khả năng mở rộng kém trong hệ thống có lưu lượng cao do các luồng chờ.
- Không lý tưởng cho xử lý tác vụ song song hoặc đồng thời.
- Nguy cơ gây trễ lan rộng nếu có nhiều cuộc gọi đồng bộ được nối chuỗi.
Trường hợp sử dụng
- Các script quét web đơn giản nơi mỗi trang phải tải xong trước khi phân tích.
- Gọi API phía máy chủ nơi kết quả phải biết trước khi tiếp tục.
- Quy trình tự động hóa yêu cầu xác nhận tuần tự các hành động.
- Hệ thống cũ không hỗ trợ các mẫu bất đồng bộ.
- Các tình huống gỡ lỗi hoặc kiểm thử cần thời gian yêu cầu xác định.