53 lines
2.9 KiB
Markdown
53 lines
2.9 KiB
Markdown
---
|
||
title: "Public Cloud Learning Sessions (OpenText) - Event Driven Architecture - Part 2"
|
||
type: source
|
||
tags:
|
||
- EDA
|
||
- Event-Driven
|
||
- Architecture
|
||
- OpenText
|
||
- AWS
|
||
date: 2026-04-14
|
||
---
|
||
|
||
## Source File
|
||
- [[raw/Cloud & DevOps/Public-Cloud-Learning-Sessions/09_Serverless_AI/public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091.md]]
|
||
|
||
## Summary
|
||
- 核心主题:事件驱动架构(EDA)最佳实践与团队独立性与通用消息模式
|
||
- 问题域:事件驱动架构设计、团队协作模式、消息传递模式
|
||
- 方法/机制:事件生产者/消费者/代理三角模型、Sparse vs Full State Events、幂等性、事件排序保障、团队独立性
|
||
- 结论/价值:去耦应用、实现独立扩展和监控、最小化故障影响
|
||
|
||
## Key Claims
|
||
- 事件驱动架构通过将应用解耦,实现业务功能的逻辑分解,支持进程的独立扩展和监控
|
||
- 稀疏事件(sparse events)体积小适合频繁变化的数据,而完整状态事件(full state events)包含更多细节但受 EventBridge 负载大小限制
|
||
- 幂等性确保同一请求多次执行产生相同结果,是处理 AWS Lambda 自动重试的关键
|
||
- SQS FIFO 或 Kinesis Data Streams 可以保证事件顺序,对于无序事件可使用 EventBridge 或标准 SQS
|
||
- 去中心化团队所有权优于集中式所有权,SNS 主题或 EventBridge 规则可实现扇出模式分发事件
|
||
|
||
## Key Quotes
|
||
> "Event is nothing but it's like a change in the state or an update" — 事件即状态变化或更新
|
||
> "Everything fails every time means like whatever you have designed and whatever workload you are running it may fail any time" — 任何设计的系统都可能在任何时候失败
|
||
|
||
## Key Concepts
|
||
- [[Event-Driven Architecture]]:事件驱动架构,一种以事件为核心驱动系统行为的架构模式
|
||
- [[EventBridge]]:AWS 事件路由服务,功能比 SNS 更丰富
|
||
- [[SQS]]:AWS 简单队列服务,用作事件存储
|
||
- [[Step Functions]]:AWS 工作流服务,基于状态机编排业务流程
|
||
- [[Kinesis]]:AWS 数据流服务,用于实时数据流处理
|
||
- Idempotency(幂等性):同一操作多次执行结果相同
|
||
- Fan-out Pattern(扇出模式):一个事件分发多个消费者
|
||
- Competing Consumer Pattern(竞争消费者模式):只有一个消费者可以消费消息
|
||
|
||
## Key Entities
|
||
- [[OpenText]]:云服务提供商,举办本次学习 sessions
|
||
- [[AWS]]:云服务平台,提供 EventBridge、SQS、Step Functions、Kinesis 等服务
|
||
|
||
## Connections
|
||
- [[EventBridge]] ← implements ← [[Event-Driven Architecture]]
|
||
- [[SQS]] ← implements ← [[Event-Driven Architecture]]
|
||
- [[Kinesis]] ← implements ← [[Event-Driven Architecture]]
|
||
- [[Step Functions]] ← orchestrates ← [[Event-Driven Architecture]]
|
||
- [[Event-Driven Architecture]] ← enables ← Team Independence
|
||
- [[Event-Driven Architecture]] ← enables ← Process Isolation |