Topic 2 Question 17
2 mins read

Topic 2 Question 17


📌 Giải đề: Xử lý timeout trong Azure Function bằng Azure Service Bus Queue


1. Phân tích yêu cầu bài toán

  • Bạn có một HTTP-triggered Azure Function dùng để xử lý dữ liệu từ Azure Storage Blob.
  • Vấn đề: App liên tục timeout sau 4 phút nhưng vẫn phải đảm bảo xử lý blob data thành công.
  • Giải pháp được đề xuất: Gửi payload vào Azure Service Bus Queue để hàng đợi xử lý và trả về HTTP 200 ngay lập tức.

Câu hỏi: Cách này có giúp giải quyết vấn đề không?


2. Tại sao đây là một giải pháp đúng?

📌 Giới hạn của HTTP-triggered Azure Function

  • Nếu chạy trên Consumption Plan, Azure Functions có timeout tối đa 5 phút.
  • Nếu mất quá nhiều thời gian xử lý dữ liệu blob, HTTP request sẽ timeout, gây lỗi.

📌 Giải pháp sử dụng Azure Service Bus Queue

  • Thay vì xử lý ngay trong HTTP request, ta đẩy dữ liệu vào Azure Service Bus Queue.
  • Một Queue Triggered Azure Function sẽ lấy dữ liệu từ hàng đợi và xử lý async, không bị giới hạn thời gian.
  • HTTP Function chỉ cần trả về HTTP 200 ngay lập tức, không phải chờ xử lý xong.

🛠️ Mô hình triển khai với Azure Service Bus Queue:

  1. HTTP request đến Function App.
  2. Function đẩy payload vào Service Bus Queue.
  3. Queue Trigger Function xử lý dữ liệu Blob mà không bị timeout.
  4. HTTP Function ngay lập tức trả về HTTP 200.

3. Đáp án chính xác

Câu trả lời đúng là: A. Yes.

💡 Vì sao?

  • Gửi dữ liệu vào Azure Service Bus Queue giúp tránh timeout.
  • Queue Trigger Function có thể xử lý blob data mà không bị giới hạn thời gian.
  • HTTP Function phản hồi ngay lập tức mà không bị chờ lâu.

🚀 Dùng Azure Service Bus Queue là giải pháp tối ưu để xử lý dữ liệu blob mà không gặp timeout! 🚀

Leave a Reply

Your email address will not be published. Required fields are marked *