AWS Integration Pattern Comparison Matrix

Characteristic
REST API
EventBridge
SQS
Kinesis

Maximum Throughput

Depends on API Gateway limits: - 10,000 RPS per account (default) - Can request increase

- 10,000 events/second per account - Can request increase

- Standard: Unlimited - FIFO: 3,000 msgs/sec with batching - 300 msgs/sec without batching

- 1MB/sec or 1,000 records/sec per shard - Unlimited shards

Maximum Payload Size

10MB

256KB

256KB

1MB

Best For

- Request/response patterns - CRUD operations - Synchronous operations - Direct service-to-service communication

- Event routing/fan-out - Service decoupling - Multi-account event routing - SaaS integration

- Decoupled microservices - Job queues - Workload leveling - Ordered processing (FIFO)

- Real-time analytics - Log aggregation - IoT data ingestion - Large scale streaming

Latency

- Milliseconds - Synchronous

- Near real-time - Some latency (seconds)

- Standard: variable - FIFO: ordered - Messages available immediately

- Sub-second - Ordered within shard

Delivery Guarantee

- No built-in retries - Need to implement retry logic

- At-least-once - Retry policy - DLQ support

- At-least-once - Exactly-once (FIFO) - DLQ support

- At-least-once - In-order per shard

Cost Model

- Pay per request - Pay for data transfer

- Pay per event - Pay for custom event bus

- Pay per million requests - Pay for storage

- Pay per shard - Pay for data ingestion/retrieval

Scalability

- Need to request quota increase - Can use regional endpoints

- Automatic scaling - Regional service

- Auto scaling - No shard management

- Manual shard management - Need to split/merge shards

Use When

- Need immediate response - Simple CRUD operations - API-first design

- Complex event routing - Fan-out patterns - AWS service integration

- Need message queuing - Workload decoupling - Need DLQ

- High-throughput streams - Real-time processing - Need ordering

Avoid When

- Asynchronous operations - Need retry mechanisms - Large payload sizes

- Large payloads - Need strict ordering - Ultra-low latency

- Need streaming - Need sub-second processing - Large messages

- Low throughput - Don't need ordering - Cost-sensitive

Additional Considerations:

  1. Cross-Region Support

    • REST: Global via CloudFront

    • EventBridge: Cross-region rules

    • SQS: Cross-region queues

    • Kinesis: Cross-region replication

  2. Development Complexity

    • REST: Simple to implement

    • EventBridge: Medium (event patterns)

    • SQS: Simple to implement

    • Kinesis: Complex (shard management)

  3. Monitoring & Debugging

    • REST: API Gateway metrics/logs

    • EventBridge: CloudWatch metrics/logs

    • SQS: Queue metrics/DLQ

    • Kinesis: Enhanced monitoring

Last updated

Was this helpful?