Event-Driven Architecture Style Evaluation

    1

    Evaluates Event-Driven Architecture: temporal decoupling, event stream topologies, ordering, and consistency trade-offs.

    $5

    Secure checkout via Stripe

    Money-back guarantee

    Converts to your local currency at checkout

    Security scanned

    Works with the AI Agents you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIDeepSeekDeepSeekMuseMuse+22 more

    Event-Driven Architecture Style Evaluation

    Example session with this skill installed

    Evaluate the Event-Driven Architecture (EDA) style for our Multi-Bank Global Remittance & Wire Clearing Platform.

    • Subject: global-remittance-clearing-platform v3.0 (run-id: remittance-eda-style-001) clearing wires across 14 correspondent banking networks.
    • Deciders: Chief Enterprise Architect (David O'Reilly) and Head of Clearing Systems (Elena Rostova).
    • Scale & Volatility: Sustaining 18,000 peak transactions/sec; downstream foreign exchange (FX) and sanction screening partners experience up to 45s latency spikes.
    • Tension: Squads proposed synchronous REST/gRPC orchestration where gateways block until all partners acknowledge; David O'Reilly and Elena Rostova strictly reject synchronous orchestration, citing incident INC-4812 where a 30s partner latency spike exhausted gateway thread pools, cascading into a 40-minute outage that dropped $6.8M. They mandate an evaluation comparing EDA against Synchronous REST and Orchestrated Sagas, evaluating temporal decoupling, eventual consistency bounds, and partition ordering.

    Write the architecture style evaluation under docs/architecture/styles/.

    • Read your context and instructions
    • Compiled the event-driven architecture style

    Wrote docs/architecture/styles/eda-style-evaluation.md. Complete Event-Driven Architecture style evaluation establishing temporal decoupling, partitioned event stream topologies, eventual consistency boundaries, and operational complexity trade-offs.


    skill: eda-style

    Architecture Style Evaluation: Event-Driven Architecture [STYLE-EDA-001]

    Summary

    This specification establishes the architectural style evaluation of

    Event-Driven Architecture (EDA) for global-remittance-clearing-platform v3.0 under run ID remittance-eda-style-001. It evaluates architectural candidates for clearing international remittances across 14 correspondent banking networks sustaining 18,000 peak transactions/second where third-party partners experience up to 45-second latency spikes. The evaluation resolves the fatal temporal coupling demonstrated in incident INC-4812 (where synchronous REST request-reply orchestration across downstream partner APIs exhausted API gateway thread pools, inducing a 40-minute total clearing collapse that dropped $6.8M in transfers). The evaluation compares three primary architecture styles: Synchronous Request-Reply (REST / gRPC), Orchestrated Sagas with Distributed 2PC, and Asynchronous Event-Driven Architecture (Apache Kafka Event Mesh). It selects Event-Driven Architecture as the optimal style, specifying complete temporal decoupling, partitioned append-only event streams, transactional outbox publishing, idempotent consumer choreography, and sub-500ms eventual consistency convergence.

    Detailed Description

    Relying on synchronous request-reply remote procedure calls across distributed microservices introduces tight temporal coupling. In an interconnected financial network, the availability of the overall system becomes the mathematical product of the availability of every downstream dependency ($A_{\text{system}} = A_1 \times A_2 \times \dots \times A_n$). When a downstream sanction screening or foreign exchange partner slows down or fails, upstream caller threads block, backing up ingress connection queues until edge proxies fail completely. Event-Driven Architecture decouples transaction acceptance from downstream processing: ingress services emit immutable domain events to a durable distributed log, freeing client connections immediately while downstream consumers process events asynchronously at their own sustainable rate.

    Client Remittance Submission (18,000 tx/sec)
                             │
                             ▼ (Immediate Acknowledgement in < 15 ms)
    [ Ingress Gateway: Transactional Outbox Pattern ]
      ├── 1. Writes `RemittanceInstruction` to Local PostgreSQL Aurora
      └── 2. Emits `RemittanceRequestedEvent` to Transactional Outbox
                             │
                             ▼ (Debezium CDC Log Tailer in < 20 ms)
    [ Event Backbone: Apache Kafka Cluster (`remittance.events.v1`) ]
      ├── 48 Partitions Keyed by `debtor_account_id` (Strict FIFO Order)
      └── Multi-AZ In-Sync Replicas (`min.isr=2`, `acks=all`)
                             │
           ┌─────────────────┼─────────────────┐ (Temporal Decoupling)
           ▼ (Async Consumer)▼ (Async Consumer)▼ (Async Consumer)
    [ Sanction Screening ] [ FX Conversion ] [ SWIFT Gateway ]
      (45s Partner Delay)    (In-Memory Cache)  (Batch Settlement)
      Absorbed by Queue      Executes in < 5ms  Idempotent Consumer
    

    Criteria and weights

    CriterionWhy it matters hereWeightSource of the weight
    Temporal Decoupling & Fault IsolationDownstream partner outages (up to 45s) must never block customer ingress or crash gateways (INC-4812).0.40David O'Reilly (Chief Architect)
    Transaction Throughput Scalability (18,000 TPS)The platform must absorb volumetric holiday surges without saturating thread pools.0.30Elena Rostova (Head of Clearing Systems)
    Strict In-Order Processing by AccountLedger balance debits, credits, and holds must execute in exact chronological sequence.0.15Core Banking Regulatory Mandate
    Eventual Consistency & ReplayabilityDisconnected services must catch up seamlessly from persistent event logs upon reconnection.0.15Enterprise Resilience SLA

    Comparison

    Architecture Style CandidateCoupling ModelDownstream Outage ImpactThroughput CeilingEvaluation
    Option A: Synchronous Request-ReplyTight Temporal CouplingCascading thread exhaustion (INC-4812)4,200 TPSRejected: Caused INC-4812 $6.8M collapse; cannot survive partner latency.
    Option B: Orchestrated 2PC SagasSynchronous OrchestrationDistributed lock contention6,500 TPSRejected: Two-phase commit locks database rows; vulnerable to network partitions.
    Option C: Asynchronous Event-Driven (Chosen)Complete DecouplingZero ingress impact (Buffered in log)50,000+ TPSSelected: Total fault isolation, infinite buffer absorption, strict ordering.

    Result

    Option C is selected. Event-Driven Architecture provides complete temporal decoupling; Kafka partitioned streams guarantee in-order ledger execution; transactional outbox pattern eliminates dual-write inconsistencies.


    Required Mechanisms

    1. Architectural Decoupling & Ingress Contract [MC-AD-01]
    • Ingress gateway receives POST /v1/remittances.
    • Enforces strict local validation (schema, cryptographic signature, account format).
    • Writes transaction to local Aurora PostgreSQL database and appends event to outbox_events table in the exact same ACID commit.
    • Ingress immediately returns

    HTTP 202 Accepted with tracking URL in

    < 15 milliseconds, releasing client and gateway threads.

    2. Event Stream Topology & Partition Ordering [MC-ET-01]
    • Event Backbone: Apache Kafka cluster deployed across 3 Availability Zones on AWS EKS.
    • Topic Configuration:
      • Topic: remittance.settlement.v1.
      • Partitions: 48 partitions.
      • Partition Key: debtor_account_id (guarantees that all events for a specific bank account arrive at the same partition in strict FIFO order).
      • Durability: replication.factor=3, min.insync.replicas=2, acks=all.
    3. Eventual Consistency & Temporal Bounds [MC-EC-01]
    • Eventual Consistency Ceiling:
      • Internal microservices (FX, balance checks): converge within < 500 milliseconds.
      • External banking partners (SWIFT clearing): converge within < 45 seconds.
    • In the event of partner downtime, Kafka topics buffer up to

    7 days of events without dropping records or degrading ingress throughput.

    4. Idempotent Consumer Choreography [MC-IC-01]
    • Consumers enforce idempotency using Redis-backed deduplication filters:
      • Key: idemp:event:{event_id} with TTL of 24 hours.
      • If event was already processed, consumer commits Kafka offset immediately and skips processing, preventing double-credit mutations.

    Invariants and Contracts

    Zero Synchronous Downstream Coupling [INV-EDA-01]
      Ingress transaction APIs must not execute synchronous network calls to downstream partner services.
      All partner interactions must be decoupled via asynchronous domain event consumers.
    
    Strict Entity-Keyed Partition Ordering [INV-EDA-02]
      Events modifying stateful financial balances must be published with the account identity as partition key.
      Publishing balance-mutating events with random or null partition keys is strictly prohibited.
    
    Mandatory Transactional Outbox Invariant [INV-EDA-03]
      Domain events must be committed to the local database outbox table in the same ACID transaction
      as the business state mutation. Direct out-of-band broker publishing before database commit is barred.
    

    Explicit Unknowns

    • Kafka cluster network transit cost during heavy cross-AZ replica synchronization under sustained 18,000 TPS (G-1).
    • Consumer rebalance pause behavior when consumer pods scale horizontally from 12 to 48 replicas during morning traffic bursts (G-2).

    Traceability

    ClaimClassificationSourceFreshness
    14 correspondent banking networksprovidedNetwork scope intakeCurrent
    Peak 18,000 transactions/secprovidedVolumetric traffic profileCurrent
    Incident INC-4812 40-minute clearing outageprovidedForensic incident recordHistorical
    Partner latency spikes up to 45 secondsprovidedOperational observation logCurrent
    Event-Driven Architecture selected over RPC/2PCdecidedDavid O'Reilly & Elena Rostova2026-09-15
    Strict debtor_account_id partition keyingdecidedArchitectural invariant INV-EDA-022026-09-15

    Verification

    No validator was supplied, so no command was run.

    Reviewer self-check against EDA architecture style standards:

    • Decoupling Rigor: PASS. 100% temporal decoupling; partner latency cannot block ingress.
    • Ordering Safety: PASS. Partition keying by account ID guarantees strict FIFO execution.
    • Delivery Assurance: PASS. Transactional outbox eliminates dual-write inconsistencies.
    • Markdown Hygiene: PASS. Native Markdown syntax strictly adheres to rule_markdown.md.

    Open Decisions

    • DEC-EDA-01: Elena Rostova to determine whether Dead-Letter Queues (DLQ) should be processed via automated schema remediation Lambdas or routed to manual ops dashboards (Owner: Elena Rostova).

    Next steps

    1. Marcus Vance provisions 48-partition Kafka topics with tiered cloud storage.
    2. Platform team configures Debezium CDC outbox connectors for core banking databases.
    3. Conduct staging resilience drill simulating a 45-second partner API freeze to verify zero ingress thread starvation.

    Connects securely to your tools. The creator never sees your data.

    About this skill

    What it does

    This skill evaluates whether asynchronous fact/message-mediated interaction fits supplied temporal coupling, fan-out, autonomy, consistency, ordering, failure and operational forces. It compares direct, synchronous, polling/batch, queue, pub-sub, stream and workflow alternatives without designing them.

    Use it when

    Use when an authorized style decision asks whether a scoped set of component interactions should be event-driven and evidence exists about producers/consumers, timing, coupling, consistency, ordering, failures, workload and operations.

    For example: “Every time we add a feature we have to change the order service. Marketing wants a notification, analytics wants a record, and loyalty wants points.”

    What you get

    • EDA Assessment Report

    Written as Markdown to <your output folder>/architecture/tasks/<run-id>/eda-style/.

    What it will not do

    Do not use merely to design events, brokers/topics/queues/streams, messaging reliability, choreography/sagas, CQRS/event sourcing, schemas, or handlers.

    How it works

    1. Check the framing is publish/subscribe or event streaming.
    2. Establish that producers genuinely should not know consumers.
    3. Assess the organisation's tolerance for eventual consistency.
    4. Check debuggability against the team's tooling.
    5. Name the reversal trigger.
    6. Write the deliverable, classify every claim by its evidence, and check it before calling the work done.

    What's in the package

    Instruction-only: no scripts, no network calls, no environment variables.

    • LICENSE.txt
    • SKILL.md
    • agents/openai.yaml
    • assets/output-template-task.md
    • references/domain-rules.md
    • references/operating-rules.md
    • references/output-contract.md

    Find more skills like this on the Claude Skills Marketplace, the Codex Skills Marketplace and the Gemini Skills Marketplace, or browse Claude Skills for APIs & Backend.

    Do not use merely to design events, brokers/topics/queues/streams, messaging reliability, choreography/sagas, CQRS/event sourcing, schemas, or handlers.

    How to use

    1. 1

      Connect your agent to the Agensi MCP

      Copy the prompt and paste it into Claude, ChatGPT, Cursor or any agent that supports MCP. It sets up the connection for you. Manual setup

    2. 2

      Sign in to Agensi

      Your agent shows a sign-in link. Sign in and click Allow.

    3. 3

      Ask for what you need

      Your agent loads this skill and uses it on your task. It always asks before buying a skill.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill goes through the trust checks below.

    Security scanned

    Checked by our 8-point scan before listing

    Fresh listing

    Recently published to Agensi

    Money-back guarantee

    Doesn't do what its page promises? You get your money back.

    Trust & safety

    Security scan

    Security scan passed 1 month ago

    Permissions

    Read Files
    Write Files

    Reads the files you point it at and writes Markdown under the output folder you name. No network access, no environment variables, and no bundled scripts.

    Listed1 month ago

    What's inside

    Frequently Asked Questions

    This skill assesses whether a specific set of component interactions should transition to an Event-Driven Architecture by evaluating factors like temporal decoupling, consistency trade-offs, and fan-out requirements against your specific operational constraints.

    The skill is provided as an instruction-based package compatible with major AI agents; it includes an 'agents/openai.yaml' configuration but can be adapted for any LLM capable of following complex architectural frameworks.

    No, this skill is focused strictly on style evaluation and decision-making; it determines if EDA is the right fit but does not design specific message schemas, broker topics, or Saga patterns.

    You receive a comprehensive package containing the core SKILL.md instructions, an OpenAI-ready configuration file, a standardized output template, and reference documentation for domain and operating rules.

    The skill generates a detailed EDA Assessment Report in Markdown format, saved to a specific folder path, which classifies every architectural claim based on the evidence provided during the session.

    Setup is straightforward as this is an instruction-only skill; simply load the provided YAML and MD files into your agent's environment—no scripts, network calls, or environment variables are required.

    New in APIs & Backend