4.6 KiB
4.6 KiB
title, type, tags, date, last_updated
| title | type | tags | date | last_updated | ||||
|---|---|---|---|---|---|---|---|---|
| Public Cloud Learning Sessions (OpenText) - Event Driven Architecture Part 2 | source |
|
2024-09-17 | 2026-05-05 |
Source File
Summary(用中文描述)
- 核心主题:事件驱动架构(EDA)进阶实践——最佳实践、团队独立性、常见消息模式
- 问题域:如何在企业云环境中设计、落地和治理事件驱动架构
- 方法/机制:Dr. Anil Giri(AWS 解决方案架构师)详解 EDA 三组件(事件生产者/消费者/代理)、事件路由器(EventBridge/SNS)与事件存储(SQS/Kinesis)、编排与编排模式(Choreography vs Orchestration)、幂等性、事件排序、团队去中心化所有权
- 结论/价值:帮助团队掌握 EDA 生产级最佳实践,在保证弹性和可扩展性的同时实现团队独立自治
Key Claims(用中文描述)
- 事件代理分两类:事件路由器(EventBridge/SNS,按规则过滤路由)和事件存储(SQS/Kinesis,由消费者自己过滤)
- EventBridge 比 SNS 功能更丰富,支持跨 AWS 服务的事件触发和工作流编排
- 幂等性(Idempotency)是处理 EDA 消息重复的关键机制,AWS Lambda 异步调用会自动重试
- SQS FIFO 和 Kinesis Data Streams 可保证事件顺序;标准 SQS 和 EventBridge 支持乱序处理
- 团队独立性应采用去中心化所有权,云卓越中心(Cloud CoE)提供基础设防,团队自主消费事件
- Fan-out 模式通过 SNS 主题或 EventBridge 规则将事件分发到不同团队
Key Quotes
"Event is nothing but it's like a change in the state or an update." — Dr. Anil Giri,EDA 定义
"Everything fails every time means like whatever you have designed and whatever workload you is running it may fail any time." — 容错设计哲学
Key Concepts
- Event-Driven-Architecture:一种软件架构范式,通过事件的生产、消费和响应实现松耦合通信
- Choreography:编排模式的一种,各微服务自主通信,无需中央协调者
- Orchestration:编排模式的一种,通过中央协调者(如 AWS Step Functions)控制工作流步骤
- Idempotency:幂等性——同一操作执行一次或多次产生相同结果的特性
- Fan-Out-Pattern:一对多消息分发模式,通过 SNS 主题或 EventBridge 规则将事件广播给多个消费者
- Competing-Consumer-Pattern:竞争消费者模式,同一时间只有一个消费者可处理消息(SQS 实现)
- Dead-Letter-Queue-DLQ:死信队列,用于处理失败事件,防止消息丢失
Key Entities
- AWS:Amazon Web Services,EventBridge/SQS/SNS/Lambda/Kinesis/AWS Step Functions 的托管方
- Amazon-EventBridge:AWS 事件路由器,支持规则过滤、跨服务触发、Schema 注册
- Amazon-SQS:AWS 消息队列服务,分标准队列(乱序/高效)和 FIFO 队列(有序/Exactly-Once)
- Amazon-SNS:AWS 发布/订阅通知服务,实现 Fan-out 分发
- AWS-Lambda:AWS 无服务器函数,EDA 的核心事件消费者,异步调用自动重试
- AWS-Step-Functions:AWS 状态机编排服务,实现 Orchestration 模式
- Kinesis-Data-Streams:AWS 流数据服务,支持事件持久化和有序处理
- Dr.-Anil-Giri:AWS 解决方案架构师,Event Driven Architecture 系列主讲人
- OpenText:会议主办方,Public Cloud Learning Sessions 系列活动的组织者
Connections
- public-cloud-learning-sessions-opentext-event-driven-architecture-part-1-2024091 ← part_of ← public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091(Part 1 与 Part 2 为同一系列,Part 2 补充具体演示内容)
- public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee ← related_to ← Event-Driven-Architecture(Serverless 天然适合事件驱动,Lambda 是 EDA 的核心执行单元)
- Event-Driven-Architecture ← depends_on ← Amazon-EventBridge(EventBridge 是 AWS EDA 的核心事件总线)
- Event-Driven-Architecture ← uses ← Idempotency(幂等性是 EDA 生产级落地的必要保障)
Contradictions
- 与 ctp-topic-64-scaling-out-with-amazon-eks 在扩展方式上的差异——EDA 通过事件驱动异步扩展(消费者按需处理),EKS 通过容器编排横向扩展(Pod 副本数调整),两者适用于不同场景但可互补使用