flowchart TD
subgraph 事件生产者
A[订单服务]
B[支付服务]
C[用户服务]
end
subgraph 事件总线
D[Event Bus]
end
subgraph 事件消费者
E[库存服务]
F[通知服务]
G[统计服务]
H[日志服务]
end
A -->|订单创建事件| D
B -->|支付完成事件| D
C -->|用户注册事件| D
D -->|订阅| E
D -->|订阅| F
D -->|订阅| G
D -->|订阅| H
flowchart TD
subgraph 事件处理流程
A[事件产生] --> B[事件发布]
B --> C[事件路由]
C --> D[事件消费]
D --> E[事件处理]
E --> F[状态更新]
end
subgraph 事件存储机制
G[事件日志] --> H[持久化存储]
G --> I[事件版本]
G --> J[事件溯源]
H --> K[时序数据库]
H --> L[消息队列]
H --> M[分布式存储]
end
subgraph 消息队列类型
N[Kafka] --> O[高吞吐量]
N --> P[持久化]
Q[RabbitMQ] --> R[灵活路由]
Q --> S[消息确认]
T[Redis Stream] --> U[低延迟]
T --> V[内存效率]
W[Pulsar] --> X[多租户]
W --> Y[分层存储]
end
subgraph 发布订阅模式
Z[主题订阅] --> AA[多消费者组]
AA --> AB[负载均衡]
AC[队列订阅] --> AD[点对点]
AD --> AE[公平分发]
AF[模式匹配] --> AG[通配符订阅]
AG --> AH[动态路由]
end
subgraph 事件处理模式
AI[事件溯源] --> AJ[状态重建]
AI --> AK[审计追踪]
AL[CQRS] --> AM[读写分离]
AL --> AN[查询优化]
AO[SAGA模式] --> AP[分布式事务]
AO --> AQ[补偿机制]
AR[CEP复杂事件处理] --> AS[事件模式匹配]
AR --> AT[实时分析]
end
subgraph 事务与一致性
AU[本地事务] --> AV[单服务事务]
AW[分布式事务] --> AX[最终一致性]
AW --> AY[2PC/3PC]
AZ[消息事务] --> BA[Exactly-Once]
AZ --> BB[幂等性保障]
end
subgraph 容错与可靠性
BC[消息持久化] --> BD[磁盘存储]
BE[消息确认] --> BF[ACK机制]
BG[死信队列] --> BH[失败重试]
BH --> BI[人工干预]
BJ[消息幂等] --> BK[去重机制]
BJ --> BL[唯一标识]
BM[流量控制] --> BN[限流]
BM --> BO[熔断]
end
A --> G
B --> N
B --> Q
C --> Z
D --> AI
E --> AU
F --> BC