microservices-patterns

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Microservices 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

核心原则

  1. Single Responsibility - Each service has one reason to change
  2. Independent Deployability - No coordination required for deployments
  3. Decentralized Data - Each service owns its data exclusively
  4. Design for Failure - Embrace failures, build resilience
  5. Automate Everything - Deployment, scaling, and recovery
  1. 单一职责 - 每个服务只有一个变更理由
  2. 独立部署性 - 部署无需协调其他服务
  3. 去中心化数据 - 每个服务独占其数据所有权
  4. 面向故障设计 - 接纳故障,构建弹性
  5. 全面自动化 - 部署、扩容与恢复全流程自动化

Quick Reference

快速参考

Load detailed patterns on-demand:
TaskLoad Reference
Define service boundaries and decompose monoliths
skills/microservices-patterns/references/service-decomposition.md
Implement service communication (sync/async)
skills/microservices-patterns/references/communication-patterns.md
Manage data consistency and transactions
skills/microservices-patterns/references/data-management.md
Build resilient systems (circuit breakers, retries)
skills/microservices-patterns/references/resilience-patterns.md
Add observability (tracing, logging, metrics)
skills/microservices-patterns/references/observability.md
Plan deployments and migrations
skills/microservices-patterns/references/deployment-migration.md
按需加载详细模式文档:
任务加载参考文档
定义服务边界并拆分单体应用
skills/microservices-patterns/references/service-decomposition.md
实现服务通信(同步/异步)
skills/microservices-patterns/references/communication-patterns.md
管理数据一致性与事务
skills/microservices-patterns/references/data-management.md
构建弹性系统(熔断器、重试)
skills/microservices-patterns/references/resilience-patterns.md
添加可观测性(链路追踪、日志、指标)
skills/microservices-patterns/references/observability.md
规划部署与迁移
skills/microservices-patterns/references/deployment-migration.md

Workflow

工作流程

1. Understand Requirements

1. 理解需求

  • Map business capabilities and domains
  • Assess scalability/resilience needs
  • Identify team boundaries
  • 梳理业务能力与领域
  • 评估扩容/弹性需求
  • 明确团队边界

2. Define Service Boundaries

2. 定义服务边界

Load
references/service-decomposition.md
for:
  • Business capability decomposition
  • DDD bounded contexts
  • Service boundary validation
加载
references/service-decomposition.md
获取:
  • 业务能力拆分方法
  • DDD限界上下文
  • 服务边界验证

3. Design Communication

3. 设计通信机制

Load
references/communication-patterns.md
for:
  • 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
references/data-management.md
for:
  • Database per service pattern
  • Saga distributed transactions
  • CQRS read/write optimization
加载
references/data-management.md
获取:
  • 服务专属数据库模式
  • Saga分布式事务
  • CQRS读写优化

5. Build Resilience

5. 构建弹性

Load
references/resilience-patterns.md
for:
  • Circuit breakers
  • Retry with exponential backoff
  • Bulkhead isolation
  • Rate limiting and timeouts
加载
references/resilience-patterns.md
获取:
  • 熔断器
  • 指数退避重试
  • 舱壁隔离
  • 限流与超时

6. Add Observability

6. 添加可观测性

Load
references/observability.md
for:
  • Distributed tracing
  • Centralized logging
  • Metrics and monitoring
加载
references/observability.md
获取:
  • 分布式链路追踪
  • 集中式日志
  • 指标与监控

7. Plan Deployment

7. 规划部署

Load
references/deployment-migration.md
for:
  • Blue-Green, Canary, Rolling deployments
  • Strangler Fig migration pattern
加载
references/deployment-migration.md
获取:
  • 蓝绿部署、金丝雀部署、滚动部署
  • 绞杀者模式迁移

Common Mistakes

常见误区

  1. Distributed Monolith - Tightly coupled, must deploy together
  2. Shared Database - Multiple services accessing same database
  3. Chatty APIs - Excessive synchronous service calls
  4. Missing Circuit Breakers - No cascading failure protection
  5. No Observability - Deploying without tracing/logging/metrics
  6. Ignoring Network Failures - Assuming reliable network
  7. No API Versioning - Breaking changes without versioning
Fixes: Load relevant reference files for detailed solutions.
  1. 分布式单体 - 服务间耦合紧密,必须一同部署
  2. 共享数据库 - 多个服务访问同一数据库
  3. 频繁调用API - 过度的同步服务调用
  4. 缺少熔断器 - 无级联故障防护
  5. 无观测能力 - 部署时未配置链路追踪/日志/指标
  6. 忽略网络故障 - 假设网络始终可靠
  7. 无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