So sánh SQS vs SNS vs Kinesis

So sánh SQS vs SNS vs Kinesis

Thuộc tínhSQSSNSKinesis
Kiểu xử lýConsumer pull dataPush data đến nhiều subscriberStandard: pull
Enhanced fan-out: push
Lưu trữ dữ liệuDữ liệu bị xóa sau khi consumeKhông lưu trữ (mất nếu không gửi thành công)Có thể replay dữ liệu
Mức độ scaleKhông giới hạn số lượng worker (consumer)Tối đa 12.500.000 subscriberTối đa 2MB/shard/consumer (với enhanced fan-out)
Provision throughputKhông cần cấu hình throughputKhông cần cấu hình throughputCó 2 mode: Provisioned và On-demand
Đảm bảo thứ tựChỉ hàng đợi FIFO mới đảm bảoHỗ trợ FIFO khi kết hợp với SQS FIFOĐảm bảo thứ tự theo từng shard
Tính năng đặc biệt- Có thể delay từng message riêng biệt- Hỗ trợ tới 100.000 topic
- Có thể tích hợp với SQS (mô hình fan-out)
- Phù hợp với real-time big data, analytics, ETL
- Dữ liệu hết hạn sau X ngày
Trường hợp sử dụngJob queue, decoupling workerNotification, broadcastStreaming dữ liệu thời gian thực
Tóm tắt hướng sử dụng:
  • SQS: dùng cho hàng đợi công việc, đảm bảo tách biệt producer-consumer, scale dễ dàng.
  • SNS: dùng cho publish/subscribe nhiều subscriber, không cần giữ message.
  • Kinesis: dùng cho luồng dữ liệu lớn, real-time analytics, ETL pipelines, có thể đọc lại dữ liệu trong khoảng thời gian nhất định.
Bạn thấy bài này thế nào?