microservices-patterns
NickCrew/claude-cortex
涵蓋服務分解、通訊、資料管理及韌性策略的全面性微服務架構模式。適用於設計分散式系統、拆解單體應用程式,或實作服務間通訊時。
...展開全部關於《microservices-patterns》
「microservices-patterns」技能提供設計與實作微服務架構的專業指引。其旨在解決管理分散式系統的複雜性,協助組織將單體應用程式拆解為更小、更易於管理的服務。此技能著重於服務拆解、通訊、資料管理、韌性及可觀察性等領域的最佳實務與設計模式,以確保架構具備穩健性與可擴展性。
此技能的主要特色包括:定義服務邊界、實作服務通訊(同步與非同步皆涵蓋)、確保跨服務資料一致性、透過容錯機制建構具韌性的系統,以及透過追蹤、記錄與指標來提升可觀察性等明確模式。此外,亦涵蓋部署策略與服務遷移模式,以確保平順過渡並將停機時間降至最低。 這些特點對於任何希望設計、實作或維護複雜分散式系統的人士都極具價值。
這項技能對於從事大型分散式系統開發的軟體架構師、DevOps 工程師及系統設計師特別有用。它能協助正從單體架構轉型至微服務的團隊、從頭開始設計新系統的團隊,或是致力於提升微服務環境中韌性、可擴展性與可觀察性的團隊。
常見問題
如何運用這項技能來拆解單體應用程式?
這項技能提供了定義服務邊界並將單體應用程式分解為較小服務的具體模式。您可以參考「服務分解」指南,以獲取有關業務能力分解和領域驅動設計(DDD)的詳細指引。
這項技能是否適用於同步與非同步的服務通訊?
是的,此技能涵蓋同步通訊模式(如 REST、gRPC)與異步模式(如訊息佇列、發佈/訂閱及事件來源)。詳細範例請參閱「communication-patterns」參考資料。
這項技能是否支援跨服務的資料一致性與交易處理?
是的,它包含「每個服務專屬資料庫」模型、Saga 分散式交易,以及用於優化讀寫操作的 CQRS 等模式。您可參閱「data-management」參考資料以獲取更多詳細資訊。
使用此技能部署系統有哪些要求?
此技能相容於容器化環境及 Kubernetes 等工具。它還包含藍綠部署、金絲雀部署和滾動部署等部署策略,相關詳情請參閱「部署與遷移」參考文件。
這項技能有哪些限制?
本技能著重於高階模式,並不提供實作層級的細節。您必須將這些模式適應於您所使用的特定技術與框架。此外,本技能假設使用者已熟悉微服務的概念與基礎架構。
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





首頁
