Skip to content
Khoá học AWSIntegration & MessagingKiến trúc SQS thường gặp

Các kiến trúc SQS thường gặp

Dưới đây là một số kiến trúc phổ biến sử dụng Amazon SQS để xây dựng hệ thống decoupling, chịu lỗi và mở rộng tốt.

SQS với EC2 Auto Scaling Group

SQS với EC2 Auto Scaling Group

Trong kiến trúc này:

  • Producer gửi message vào SQS Queue.
  • Consumer là một nhóm các EC2 instance trong Auto Scaling Group (ASG)
  • ASG tự động điều chỉnh số lượng instance dựa trên số lượng message trong queue (ví dụ: sử dụng CloudWatch metric ApproximateNumberOfMessagesVisible).
  • Khi có nhiều message, ASG sẽ scale out để tăng số lượng consumer, giúp xử lý nhanh hơn.
  • Khi queue trống hoặc ít message, ASG sẽ scale in để tiết kiệm chi phí.
  • Sử dụng Visibility Timeout để đảm bảo message không bị xử lý trùng lặp khi có nhiều consumer.
  • Kết hợp với Dead Letter Queue (DLQ) để lưu trữ các message không thể xử lý sau nhiều lần thử.
  • Sử dụng Long Polling để giảm chi phí và tăng hiệu quả khi nhận message từ SQS.
  • Phù hợp cho: hệ thống có tải biến động, cần mở rộng linh hoạt.