postmodern.

Pattern 07

Event Consumer

Per-service EventBridge consumer with SQS buffering, optional Lambda processing, a DLQ, and alarms.

Status

Available module

Deployment scope

Primary + DR ready

Recommended version

~> 1.0

What you get

01

Reliable buffering

SQS absorbs bursts and separates event delivery from processing speed.

02

Failure isolation

Each consumer owns its rule, queue, retry policy, and dead-letter queue.

03

Optional processor

Wire a Lambda processor only when the service needs one.

Start here

Add the module to your configuration and customize only what you need.

main.tf
module "order_events" {
  source = "pomo-studio/event-consumer/aws"
  version = "~> 1.0"

  name             = "order-processor"
  bus_name_primary = module.events.bus_name_primary
  bus_name_dr      = module.events.bus_name_dr
  event_pattern = {
    source      = ["com.myapp.orders"]
    detail-type = ["OrderCreated"]
  }
}

Key inputs

  • name
  • bus_name_primary
  • bus_name_dr
  • event_pattern
  • enable_dr
  • enable_dlq

Useful outputs

  • queue_arn_primary
  • dlq_arn_primary
  • rule_arn_primary
  • lambda_arn_primary

Built with

  • EventBridge
  • SQS
  • Lambda
  • CloudWatch
  • Terraform