Component 06

Event Bus

Share events between independently deployed services.

Status

Available module

Deployment scope

Primary + DR ready

Example version constraint

~> 1.0

Review published versions ↗

What it deploys

The resources this component creates, and how they connect. Drag to pan, scroll to zoom.

Usage example

Inputs in, outputs out. Illustrative wiring, not a standalone deployment.

Supply aws.primary and aws.dr provider aliases. Configure producers and consumer rules separately; cross-region routing is optional. Configure provider requirements and credentials in your root module; check the documentation for all required inputs and version changes.

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

  name                       = "my-app-events"
  enable_dr                  = true
  enable_archive             = true
  enable_cross_region_routing = true
}

Key inputs

  • name
  • enable_dr
  • enable_schema_registry
  • enable_archive
  • enable_cross_region_routing

Useful outputs

  • bus_name_primary
  • bus_arn_primary
  • bus_arn_dr
  • cross_region_rule_arn

What you get

01

Shared foundation

Keep producers and consumers independently deployable.

02

Event archive

Retain and replay historical traffic for recovery and debugging.

03

Schema registry

Document event contracts and reduce accidental breaking changes.

  • Materialized View

    Precompute a read-optimized projection so queries stay fast without recomputing on every request.

  • CQRS

    Separate the write model from the read model so each can be shaped for its own job.

  • Event-Driven Fan-out

    Publish one event and let independent consumers react, without the producer knowing who they are.

Built with

  • EventBridge
  • Schema Registry
  • Event Archive
  • Terraform