360 Secure SkillHub
360 安全技能中心

architecture-paradigm-event-driven

该 Skill 是一份事件驱动架构范式的参考指南:说明何时使用与不使用、五步采用流程(事件建模、拓扑选择、平台建设、失败处理、可观测性)、关键交付物(ADR、Schema 仓库、监控看板)以及隐藏耦合、运维复杂度等风险与缓解措施。Kafka、NATS 等仅作词汇示例,非必需依赖。

athola
athola
热度 63.78
最近更新 2026-08-26 21:06:01
分类:开发依赖:纯提示词应用场景:概念解释 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add nm-archetypes-architecture-paradigm-event-driven
Metadata
name
architecture-paradigm-event-driven
description
Applies event-driven async messaging to decouple producers and consumers
version
1.9.8
triggers
["architecture","event-driven","asynchronous","decoupling","scalability","resilience","designing real-time or multi-subscriber systems needing loose coupling"]
metadata
{"openclaw":{"homepage":"https://github.com/athola/claude-night-market/tree/master/plugins/archetypes","emoji":"🏗️"}}
source
claude-night-market
source_plugin
archetypes

Night Market Skill — ported from claude-night-market/archetypes. For the full experience with agents, hooks, and commands, install the Claude Code plugin.

The Event-Driven Architecture Paradigm

When To Use

  • Building async, loosely-coupled systems
  • Systems with complex event processing pipelines

When NOT To Use

  • Simple request-response applications without async needs
  • Systems requiring strong transactional consistency

When to Employ This Paradigm

  • For real-time or bursty workloads (e.g., IoT, financial trading, logistics) where loose coupling and asynchronous processing are beneficial.
  • When multiple, distinct subsystems must react to the same business or domain events.
  • When system extensibility is a high priority, allowing new components to be added without modifying existing services.

Adoption Steps

  1. Model the Events: Define canonical event schemas, establish a clear versioning strategy, and assign ownership for each event type.
  2. Select the Right Topology: For each data flow, make a deliberate choice between choreography (e.g., a simple pub/sub model) and orchestration (e.g., a central controller or saga orchestrator).
  3. Engineer the Event Platform: Choose the appropriate event brokers or message meshes. Configure critical parameters such as message ordering, topic partitions, and data retention policies.
  4. Plan for Failure Handling: Implement production-grade mechanisms for handling message failures, including Dead-Letter Queues (DLQs), automated retry logic, idempotent consumers, and tools for replaying events.
  5. Instrument for Observability: Implement detailed monitoring to track key metrics such as consumer lag, message throughput, schema validation failures, and the health of individual consumer applications.

Key Deliverables

  • An Architecture Decision Record (ADR) that documents the event taxonomy, the chosen broker technology, and the governance policies (e.g., for naming, versioning, and retention).
  • A centralized schema repository with automated CI validation and consumer-driven contract tests.
  • Operational dashboards for monitoring system-wide throughput, consumer lag, and DLQ depth.

Risks & Mitigations

  • Hidden Coupling through Events:
    • Mitigation: Consumers may implicitly depend on undocumented event semantics or data fields. Publish a formal event catalog or schema registry and use linting tools to enforce event structure.
  • Operational Complexity and "Noise":
    • Mitigation: Without strong observability, diagnosing failed or "stuck" consumers is extremely difficult. Enforce the use of distributed tracing and standardized alerting across all event-driven components.
  • "Event Storming" Analysis Paralysis:
    • Mitigation: While event storming workshops are valuable, they can become unproductive if not properly managed. Keep modeling sessions time-boxed and focused on high-value business contexts first.

Concrete Components

These vocabulary items name the concrete tools and abstractions that show up when the paradigm is implemented. They are not required dependencies and they are not part of the skill's tools: frontmatter (which is reserved for Claude Code tool restrictions). Use this list to disambiguate during architecture discussions.

  • message-broker -- Kafka, NATS, RabbitMQ; the durable channel between producers and consumers
  • event-stream-processor -- Flink, Faust, or similar; consumes streams and emits derived events
  • distributed-tracing -- OpenTelemetry-style correlation IDs across asynchronous hops