Auto-sync: update nexus workspace
This commit is contained in:
43
wiki/concepts/Choreography.md
Normal file
43
wiki/concepts/Choreography.md
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
title: "Choreography"
|
||||
type: concept
|
||||
tags:
|
||||
- EDA
|
||||
- Architecture
|
||||
- Microservices
|
||||
last_updated: 2026-04-14
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- Choreography Pattern
|
||||
- 编舞模式
|
||||
- 去中心化事件协调
|
||||
|
||||
## Definition
|
||||
编舞模式(Choreography)是一种微服务间通过事件进行自发协调的模式,各服务自主响应事件并发布新事件,无需中央协调器。服务通过事件总线了解全局状态和下一步操作。
|
||||
|
||||
## Characteristics
|
||||
- **Decentralized**:无中央协调器,各服务平等
|
||||
- **Autonomous**:每个服务自主决定如何响应事件
|
||||
- **Loosely Coupled**:服务之间完全解耦,通过事件总线交互
|
||||
- **Resilient**:局部故障不影响其他服务
|
||||
- **Harder to Track**:整体业务流程不直观,调试复杂
|
||||
|
||||
## Example
|
||||
1. 订单服务发布 `OrderCreated` 事件
|
||||
2. 库存服务订阅并发布 `InventoryReserved` 事件
|
||||
3. 支付服务订阅并发布 `PaymentProcessed` 事件
|
||||
4. 通知服务订阅并发送确认通知
|
||||
|
||||
## Comparison with Orchestration
|
||||
| 维度 | Choreography(编舞) | Orchestration(编排) |
|
||||
|------|---------------------|---------------------|
|
||||
| 控制 | 去中心化 | 集中式 |
|
||||
| 协调器 | 无 | 有(Step Functions) |
|
||||
| 复杂度 | 局部低,整体高 | 局部高,整体低 |
|
||||
| 可观测性 | 较难追踪 | 易于追踪 |
|
||||
| 适用场景 | 简单、独立的服务 | 复杂、有明确业务流程 |
|
||||
|
||||
## Sources
|
||||
- [[public-cloud-learning-sessions-opentext-event-driven-architecture-part-2-2024091]]
|
||||
- [[public-cloud-learning-sessions-opentext-serverless-computing-20240903-160139-mee]]
|
||||
Reference in New Issue
Block a user