microservices-patterns
NickCrew/claude-cortex
涵盖服务分解、通信、数据管理及弹性策略的全面微服务架构模式。适用于设计分布式系统、拆解单体应用或实现服务间通信。
...展开全部关于《microservices-patterns》
“microservices-patterns”技能为微服务架构的设计与实施提供专业指导。该技能旨在解决分布式系统管理的复杂性,帮助组织将单体应用拆分为更小、更易于管理的服务。该技能重点强调服务拆分、通信、数据管理、弹性及可观测性方面的最佳实践和设计模式,以确保架构的健壮性和可扩展性。
该技能的主要特点包括:定义服务边界、实现服务通信(包括同步和异步)、确保跨服务数据一致性、通过容错机制构建弹性系统,以及利用追踪、日志和指标增强可观测性的清晰模式。此外,它还涵盖了部署策略和服务迁移模式,以确保平稳过渡并最大限度地减少停机时间。 这些特性对于任何希望设计、实施或维护复杂分布式系统的人士都极具价值。
该技能对从事大规模分布式系统工作的软件架构师、DevOps 工程师和系统设计师尤为有用。它可帮助正在从单体架构向微服务转型的团队、从零开始设计新系统的团队,以及致力于提升微服务环境中的弹性、可扩展性和可观测性的团队。
常见问题
如何利用此技能将单体应用拆解?
本技能提供了用于定义服务边界并将单体应用分解为更小服务的具体模式。您可以参考“service-decomposition”文档,获取有关业务能力分解和领域驱动设计(DDD)的详细指导。
我可以将此技能用于同步和异步服务通信吗?
是的,该技能涵盖了同步通信模式(如 REST、gRPC)和异步模式(如消息队列、发布/订阅和事件溯源)。详细示例请参阅“communication-patterns”参考文档。
该技能是否支持跨服务的数据一致性和事务处理?
是的,它包含“每个服务一个数据库”模型、Saga 分布式事务以及用于优化读写操作的 CQRS 等模式。您可以参考“数据管理”参考文档以获取更多详细信息。
使用此技能部署系统有哪些要求?
该技能兼容容器化环境及 Kubernetes 等工具。它还包含蓝绿部署、金丝雀部署和滚动部署等部署策略,具体细节请参阅“deployment-migration”参考文档。
本技能有哪些局限性?
本技能侧重于高层次模式,不提供实现层面的细节。请务必根据您所使用的具体技术和框架调整这些模式。此外,本技能假设您已熟悉微服务概念和基础设施。
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
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 | 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 |
Workflow
1. Understand Requirements
- Map business capabilities and domains
- Assess scalability/resilience needs
- Identify team boundaries
2. Define Service Boundaries
Load references/service-decomposition.md for:
- Business capability decomposition
- DDD bounded contexts
- Service boundary validation
3. Design Communication
Load references/communication-patterns.md for:
- Synchronous: API Gateway, REST, gRPC
- Asynchronous: Message Queue, Pub/Sub, Event Sourcing
4. Manage Data
Load references/data-management.md for:
- Database per service pattern
- Saga distributed transactions
- CQRS read/write optimization
5. Build Resilience
Load references/resilience-patterns.md for:
- Circuit breakers
- Retry with exponential backoff
- Bulkhead isolation
- Rate limiting and timeouts
6. Add Observability
Load references/observability.md for:
- Distributed tracing
- Centralized logging
- Metrics and monitoring
7. Plan Deployment
Load references/deployment-migration.md for:
- Blue-Green, Canary, Rolling deployments
- Strangler Fig migration pattern
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.
Resources
- Books: "Building Microservices" (Newman), "Microservices Patterns" (Richardson)
- Sites: microservices.io, martinfowler.com/microservices
- Tools: Kubernetes, Istio, Kafka, Kong, Jaeger, Prometheus





首页
