Sử dụng Azure Storage Queues

Phát triển cho Azure Storage

Shahzad Mian

Content Developer, DataCamp

Giới thiệu về Storage Queues

  • Storage queues là dịch vụ xếp hàng thông điệp.
  • Ứng dụng thường xử lý nhiều yêu cầu cùng lúc.
  • Chờ từng tiến trình xong có thể làm chậm hệ thống.
  • Azure Storage Queues cho phép giao tiếp bất đồng bộ giữa các thành phần.
  • Nhắn tin bất đồng bộ giúp duy trì tốc độ và khả năng mở rộng.

Giải quyết vấn đề bằng storage queue

Phát triển cho Azure Storage

Thách thức thực tế

Vấn đề và giải pháp khi đơn hàng dồn lại

  • Cửa hàng trực tuyến của Cipher Coffee nhận hàng trăm đơn cùng lúc.
  • Không có hàng đợi, mỗi đơn phải chờ đơn trước.
  • Hàng đợi cho phép nhận đơn ngay, xử lý sau.
  • Giữ website nhanh và khách hàng hài lòng.
Phát triển cho Azure Storage

Queue là gì?

  • Hàng đợi là hàng chờ cho thông điệp cần xử lý.
  • Xử lý theo thứ tự: vào trước, ra trước.
  • Mỗi thông điệp là một đơn vị công việc nhỏ.
  • Sau khi xử lý, thông điệp bị xóa khỏi hàng đợi.

Đồ họa hàng đợi

Phát triển cho Azure Storage

Cách Azure Storage Queues hoạt động

Giải thích hàng đợi

  • Azure Storage Queues thuộc Tài khoản lưu trữ của bạn.
  • Thông điệp tối đa 64 KB, lưu trữ bền vững.
  • Ứng dụng có thể:
    • Gửi thông điệp vào hàng đợi.
    • Nhận và xử lý thông điệp.
    • Xóa thông điệp sau khi hoàn tất.
  • Thông điệp vẫn tồn tại kể cả khi hệ thống khởi động lại.
Phát triển cho Azure Storage

Luồng công việc bất đồng bộ

 

 

Luồng công việc bất đồng bộ

  • Bên gửi thêm thông điệp, như "Xử lý thanh toán cho Order 2045"
  • Dịch vụ nền như Azure Function lấy thông điệp.
  • Sau khi xử lý thành công, thông điệp bị xóa.
  • Mẫu này giúp hệ thống mở rộng và phản hồi tốt dưới tải.
Phát triển cho Azure Storage

Cipher Coffee hoạt động thực tế

  • Website Cipher Coffee gửi thông điệp đơn hàng vào hàng đợi.
  • Hệ thống thực hiện đơn đọc thông điệp từ hàng đợi.
  • Thông điệp kích hoạt cập nhật cơ sở dữ liệu và hệ thống thanh toán.
  • Barista được thông báo mà không làm chậm khâu thanh toán.

Quy trình đặt hàng

Phát triển cho Azure Storage

Lợi ích của Queues

  • Tách ghép (Decoupling): Hệ thống hoạt động độc lập.
  • Khả năng mở rộng: Thêm worker để xử lý nhanh hơn.
  • Độ tin cậy: Thông điệp vẫn tồn tại khi ngừng hoạt động.
  • Tích hợp: Làm việc với Azure Functions và Logic Apps.

Hệ thống độc lập

Hệ thống có thể mở rộng

Hệ thống tin cậy

Screenshot 2025-10-27 at 5.42.20 pm.png

Phát triển cho Azure Storage

Vòng đời thông điệp

Screenshot 2025-10-27 at 5.48.34 pm.png

  • Thông điệp qua ba giai đoạn chính:
    • Enqueue: Thêm vào hàng đợi.
    • Dequeue: Worker lấy để xử lý.
    • Delete: Xóa sau khi xử lý thành công.
  • Thông điệp lỗi sẽ tự xuất hiện lại để thử lại.
Phát triển cho Azure Storage

Trường hợp sử dụng phổ biến

  • Xử lý đơn hàng và lập hóa đơn nền.

Biểu tượng đơn hàng

  • Gửi email thông báo.

Biểu tượng thư

  • Đệm telemetry IoT.

Biểu tượng IoT

  • Thu thập log và pipeline sự kiện.
    • Dùng hàng đợi cho tác vụ độc lập, có thể thử lại an toàn.
    • Còn nhiều nữa
Phát triển cho Azure Storage

Queues vs Service Bus

  • Azure Service Bus dùng cho kịch bản nhắn tin nâng cao.
  • Service Bus hỗ trợ:
    • Thứ tự thông điệp và phiên (sessions).
    • Giao dịch và topics/subscriptions.
  • Azure Storage Queues đơn giản hơn và tiết kiệm chi phí cho tải nhẹ.
  • Cipher Coffee dùng hàng đợi để xử lý đơn và cập nhật thời gian thực.

Screenshot 2025-10-27 at 6.13.37 pm.png

Phát triển cho Azure Storage

Ayo berlatih!

Phát triển cho Azure Storage

Preparing Video For Download...