跳到主要内容
知仓学习社ZHICANG

architecture-paradigm-microservices

Applies microservices for independent deployment and per-service scaling. Use when teams need autonomous release cycles with distinct capability sca…

不碰外部(只输出文字)无严重或高危命中athola/claude-night-market

它会碰到什么

扫了多少1 个文本文件,7 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Table of Contents

  • [When to Employ This Paradigm](#when-to-employ-this-paradigm)
  • [When NOT to Use This Paradigm](#when-not-to-use-this-paradigm)
  • [Adoption Steps](#adoption-steps)
  • [Key Deliverables](#key-deliverables)
  • [Technology Guidance](#technology-guidance)
  • [Risks & Mitigations](#risks-mitigations)

The Microservices Architecture Paradigm

When to Employ This Paradigm

  • When the organizational structure requires high levels of team autonomy and independent release cycles.
  • When different business capabilities (bounded contexts) have distinct scaling requirements or would benefit from different technology stacks.
  • When there is a significant organizational commitment to investing in DevOps and SRE maturity, including advanced observability, CI/CD, and incident response capabilities.

When NOT To Use This Paradigm

  • When team size is small and organizational complexity is low
  • When lack of DevOps maturity or limited platform engineering resources
  • When system requires strong transactional consistency across operations
  • When early-stage startup with rapidly evolving requirements
  • When regulatory constraints make distributed data management challenging

Adoption Steps

  1. Define Bounded Contexts: Map each microservice to a clear business capability and establish unambiguous data ownership.
  2. validate Service Data Autonomy: Each service must own and control its own database or persistence mechanism. All data sharing between services must occur via APIs or events, not shared tables.
  3. Build a production-grade Platform: Before deploying services, establish foundational infrastructure for service discovery, distributed tracing, centralized logging, CI/CD templates, and automated contract testing.
  4. Design for Resilience: Implement resilience patterns such as timeouts, retries, circuit breakers, and bulkheads for all inter-service communication. Formally document Service Level Indicators (SLIs) and Objectives (SLOs).
  5. Automate Governance: Implement automated processes to enforce security scanning, dependency management policies, and consistent versioning strategies across all services.

Key Deliverables

  • An Architecture Decision Record (ADR) cataloging all service boundaries, their corresponding data stores, and their communication patterns (e.g., synchronous API vs. asynchronous events).
  • A set of "golden path" templates and runbooks for creating and operating new services on the platform.
  • A detailed testing strategy that includes unit, contract, integration, and chaos/resilience tests.

Technology Guidance

API Communication:

  • REST APIs: Spring Boot (Java), Express.js (Node.js), FastAPI (Python)
  • GraphQL: Apollo Server (Node.js), Hasura (PostgreSQL)
  • gRPC: gRPC frameworks for high-performance internal communication

Service Discovery & Configuration:

  • Service Registry: Consul, Eureka, etcd
  • Configuration: Spring Cloud Config, HashiCorp Vault, AWS Parameter Store

Message Broking & Events:

  • Message Brokers: Apache Kafka, RabbitMQ, AWS SQS/SNS
  • Event Streaming: Apache Kafka, Apache Pulsar, AWS Kinesis

Observability:

  • Distributed Tracing: Jaeger, Zipkin, AWS X-Ray
  • Metrics: Prometheus, Datadog, CloudWatch
  • Logging: ELK Stack, Fluentd, Splunk

Real-World Examples

Netflix: Video streaming platform with hundreds of microservices handling different aspects like playback, recommendation, billing, and user authentication. Each team can deploy independently without affecting others.

Amazon: E-commerce platform with separate services for product catalog, order processing, payment, inventory, and shipping. Enables independent scaling during high-traffic events like Prime Day.

Uber: Ride-sharing platform with microservices for rider matching, driver dispatch, pricing, payment processing, and notifications, allowing rapid feature development and deployment.

Risks & Mitigations

  • Distributed System Complexity:
  • Mitigation: The operational overhead for a microservices architecture is substantial. Invest in dedicated platform teams and shared tooling to manage this complexity and provide support for service teams.
  • Data Consistency Challenges:
  • Mitigation: Maintaining data consistency across services is a primary challenge. Employ patterns like Sagas for orchestrating transactions, validate message-based communication is idempotent, and use reconciliation jobs to handle eventual consistency.
  • Incorrect Service Granularity ("Over-splitting"):
  • Mitigation: If services are too small, the communication overhead can outweigh the benefits of distribution. validate each service owns a meaningful and substantial piece of functionality. Monitor change coupling between services to identify candidates for merging.

Concrete Components

These vocabulary items name the concrete tools and abstractions

that show up when the paradigm is implemented. They are not

required dependencies and they are not part of the skill's

`tools:` frontmatter (which is reserved for Claude Code tool

restrictions). Use this list to disambiguate during architecture

discussions.

  • `service-boundary-analyzer`: finds candidate seams via call-graph and data-ownership analysis
  • `api-contract-generator`: OpenAPI/protobuf scaffolding for new service boundaries
  • `resilience-patterns`: retry, circuit breaker, bulkhead, and timeout libraries

Exit Criteria

  • [ ] An ADR catalogs all service boundaries with their data stores and communication patterns

(synchronous API vs. asynchronous events) before any service is deployed independently.

  • [ ] Each service owns its own database or persistence mechanism; no service reads another

service's tables directly (verified via data-ownership review).

  • [ ] Resilience patterns (timeout, retry, circuit breaker, bulkhead) are documented and

implemented for every inter-service call before the service goes to production.

  • [ ] "Golden path" runbooks for creating and operating new services exist before a second team

begins adopting the architecture.

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。