microservices-patterns
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMicroservices Architecture Patterns
微服务架构模式
Expert guidance for designing, implementing, and operating microservices architectures.
为微服务架构的设计、实现与运维提供专业指导。
When to Use This Skill
何时使用该技能
- Breaking down monolithic applications into services
- Designing distributed systems from scratch
- Implementing service communication patterns (sync/async)
- Managing data consistency across services
- Building resilient distributed systems
- Defining service boundaries and API contracts
- 将单体应用拆分为多个服务
- 从零开始设计分布式系统
- 实现服务通信模式(同步/异步)
- 跨服务管理数据一致性
- 构建具备弹性的分布式系统
- 定义服务边界与API契约
Core Principles
核心原则
- Single Responsibility - Each service has one reason to change
- Independent Deployability - No coordination required for deployments
- Decentralized Data - Each service owns its data exclusively
- Design for Failure - Embrace failures, build resilience
- Automate Everything - Deployment, scaling, and recovery
- 单一职责 - 每个服务只有一个变更理由
- 独立部署性 - 部署无需协调其他服务
- 去中心化数据 - 每个服务独占其数据所有权
- 面向故障设计 - 接纳故障,构建弹性
- 全面自动化 - 部署、扩容与恢复全流程自动化
Quick Reference
快速参考
Load detailed patterns on-demand:
| Task | Load Reference |
|---|---|
| Define service boundaries and decompose monoliths | |
| Implement service communication (sync/async) | |
| Manage data consistency and transactions | |
| Build resilient systems (circuit breakers, retries) | |
| Add observability (tracing, logging, metrics) | |
| Plan deployments and migrations | |
按需加载详细模式文档:
| 任务 | 加载参考文档 |
|---|---|
| 定义服务边界并拆分单体应用 | |
| 实现服务通信(同步/异步) | |
| 管理数据一致性与事务 | |
| 构建弹性系统(熔断器、重试) | |
| 添加可观测性(链路追踪、日志、指标) | |
| 规划部署与迁移 | |
Workflow
工作流程
1. Understand Requirements
1. 理解需求
- Map business capabilities and domains
- Assess scalability/resilience needs
- Identify team boundaries
- 梳理业务能力与领域
- 评估扩容/弹性需求
- 明确团队边界
2. Define Service Boundaries
2. 定义服务边界
Load for:
references/service-decomposition.md- Business capability decomposition
- DDD bounded contexts
- Service boundary validation
加载获取:
references/service-decomposition.md- 业务能力拆分方法
- DDD限界上下文
- 服务边界验证
3. Design Communication
3. 设计通信机制
Load for:
references/communication-patterns.md- Synchronous: API Gateway, REST, gRPC
- Asynchronous: Message Queue, Pub/Sub, Event Sourcing
加载获取:
references/communication-patterns.md- 同步模式:API Gateway、REST、gRPC
- 异步模式:消息队列、发布/订阅、事件溯源
4. Manage Data
4. 数据管理
Load for:
references/data-management.md- Database per service pattern
- Saga distributed transactions
- CQRS read/write optimization
加载获取:
references/data-management.md- 服务专属数据库模式
- Saga分布式事务
- CQRS读写优化
5. Build Resilience
5. 构建弹性
Load for:
references/resilience-patterns.md- Circuit breakers
- Retry with exponential backoff
- Bulkhead isolation
- Rate limiting and timeouts
加载获取:
references/resilience-patterns.md- 熔断器
- 指数退避重试
- 舱壁隔离
- 限流与超时
6. Add Observability
6. 添加可观测性
Load for:
references/observability.md- Distributed tracing
- Centralized logging
- Metrics and monitoring
加载获取:
references/observability.md- 分布式链路追踪
- 集中式日志
- 指标与监控
7. Plan Deployment
7. 规划部署
Load for:
references/deployment-migration.md- Blue-Green, Canary, Rolling deployments
- Strangler Fig migration pattern
加载获取:
references/deployment-migration.md- 蓝绿部署、金丝雀部署、滚动部署
- 绞杀者模式迁移
Common Mistakes
常见误区
- Distributed Monolith - Tightly coupled, must deploy together
- Shared Database - Multiple services accessing same database
- Chatty APIs - Excessive synchronous service calls
- Missing Circuit Breakers - No cascading failure protection
- No Observability - Deploying without tracing/logging/metrics
- Ignoring Network Failures - Assuming reliable network
- No API Versioning - Breaking changes without versioning
Fixes: Load relevant reference files for detailed solutions.
- 分布式单体 - 服务间耦合紧密,必须一同部署
- 共享数据库 - 多个服务访问同一数据库
- 频繁调用API - 过度的同步服务调用
- 缺少熔断器 - 无级联故障防护
- 无观测能力 - 部署时未配置链路追踪/日志/指标
- 忽略网络故障 - 假设网络始终可靠
- 无API版本控制 - 变更时未做版本管理导致兼容问题
解决方法:加载相关参考文档获取详细解决方案。
Resources
资源
- Books: "Building Microservices" (Newman), "Microservices Patterns" (Richardson)
- Sites: microservices.io, martinfowler.com/microservices
- Tools: Kubernetes, Istio, Kafka, Kong, Jaeger, Prometheus
- 书籍:《Building Microservices》(Newman)、《Microservices Patterns》(Richardson)
- 网站:microservices.io、martinfowler.com/microservices
- 工具:Kubernetes、Istio、Kafka、Kong、Jaeger、Prometheus