senior-architect
49
总安装量
22
周安装量
#7974
全站排名
安装命令
npx skills add https://github.com/borghei/claude-skills --skill senior-architect
Agent 安装分布
claude-code
17
opencode
16
gemini-cli
15
antigravity
12
codex
10
cursor
9
Skill 文档
Senior Software Architect
Expert-level software architecture for scalable systems.
Core Competencies
- System design
- Distributed systems
- Microservices architecture
- Scalability patterns
- Technical decision-making
- Architecture documentation
- Technology evaluation
- Performance optimization
Architecture Patterns
Monolith vs Microservices
| Aspect | Monolith | Microservices |
|---|---|---|
| Complexity | Lower initially | Higher |
| Deployment | Single unit | Independent |
| Scaling | Vertical/Horizontal | Service-level |
| Team Size | Small teams | Multiple teams |
| Data | Single DB | Distributed |
| Best For | Startups, MVPs | Scale, large orgs |
Service Architecture Patterns
Layered Architecture:
âââââââââââââââââââââââââââââââââââââââ
â Presentation Layer â
âââââââââââââââââââââââââââââââââââââââ¤
â Application Layer â
âââââââââââââââââââââââââââââââââââââââ¤
â Domain Layer â
âââââââââââââââââââââââââââââââââââââââ¤
â Infrastructure Layer â
âââââââââââââââââââââââââââââââââââââââ
Hexagonal Architecture:
âââââââââââ
ââââââââ API ââââââââ
â âââââââââââ â
ââââââ¼âââââ ââââââââ¼âââââââ
â CLI â â Database â
ââââââ¬âââââ ââââââââ¬âââââââ
â âââââââââââ â
ââââââââ Core ââââââââ
â Domain â
ââââââââ ââââââââ
â âââââââââââ â
ââââââ¼âââââ ââââââââ¼âââââââ
â Queue â â External â
âââââââââââ â Service â
âââââââââââââââ
Event-Driven Architecture:
âââââââââââââââ âââââââââââââââ âââââââââââââââ
â Service A ââââââ¶â Event ââââââ¶â Service B â
âââââââââââââââ â Bus â âââââââââââââââ
â â
âââââââââââââââ â â âââââââââââââââ
â Service C âââââââ ââââââ¶â Service D â
âââââââââââââââ âââââââââââââââ âââââââââââââââ
Distributed Systems
CAP Theorem
- Consistency: All nodes see same data simultaneously
- Availability: Every request receives response
- Partition Tolerance: System continues despite network failures
Choose Two:
- CA: Traditional RDBMS (single node)
- CP: Distributed databases (MongoDB, HBase)
- AP: DNS, Cassandra, DynamoDB
Consistency Patterns
Strong Consistency:
- All reads return most recent write
- Use: Financial transactions, inventory
- Trade-off: Higher latency
Eventual Consistency:
- Reads may return stale data temporarily
- Use: Social media feeds, analytics
- Trade-off: Complexity in application
Causal Consistency:
- Preserves cause-effect relationships
- Use: Collaborative editing, messaging
- Trade-off: Moderate complexity
Distributed Transactions
Saga Pattern:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â Choreography Saga â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â â
â Order Inventory Payment Shipping â
â Service Service Service Service â
â â â â â â
â âââCreateâââââ¶â â â â
â â ââââReserveâââââ¶â â â
â â â ââââChargeââââ¶â â
â â â â âââShip â
â âââââââââââââââââââââââââââââââââââââCompleteâ â
â â
â Compensation (on failure): â
â âââReleaseâââââââRefundâââââââââCancelâââââ â
â â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Two-Phase Commit:
Phase 1 (Prepare):
Coordinator â All Participants: "Prepare"
All Participants â Coordinator: "Ready" or "Abort"
Phase 2 (Commit/Abort):
If all Ready:
Coordinator â All Participants: "Commit"
Else:
Coordinator â All Participants: "Abort"
Scalability Patterns
Horizontal Scaling
Load Balancing Strategies:
- Round Robin: Simple rotation
- Least Connections: Route to least busy
- IP Hash: Sticky sessions
- Weighted: Based on server capacity
Stateless Design:
âââââââââââââââ âââââââââââââââ
â Client ââââââ¶â Load â
âââââââââââââââ â Balancer â
ââââââââ¬âââââââ
âââââââââââââââââ¼ââââââââââââââââ
â¼ â¼ â¼
ââââââââââââ ââââââââââââ ââââââââââââ
â Server 1 â â Server 2 â â Server 3 â
ââââââ¬ââââââ ââââââ¬ââââââ ââââââ¬ââââââ
â â â
âââââââââââââââââ¼ââââââââââââââââ
â¼
âââââââââââââââââââââââ
â Shared State â
â (Redis/DB) â
âââââââââââââââââââââââ
Caching Strategies
Cache Levels:
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
â L1: Application Cache (in-memory) ~1ms â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â L2: Distributed Cache (Redis) ~5ms â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â L3: CDN Cache ~50ms â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ¤
â L4: Database ~100ms â
âââââââââââââââââââââââââââââââââââââââââââââââââââââââ
Cache Patterns:
Cache-Aside:
1. Check cache
2. If miss, read from DB
3. Store in cache
4. Return data
Write-Through:
1. Write to cache
2. Cache writes to DB
3. Return success
Write-Behind:
1. Write to cache
2. Return success
3. Cache async writes to DB
Database Scaling
Read Replicas:
ââââââââââââââ
â Master ââââââââ Writes
âââââââ¬âââââââ
â Replication
ââââââââââââââââ¬âââââââââââââââ
â¼ â¼ â¼
ââââââââââââ ââââââââââââ ââââââââââââ
â Replica 1â â Replica 2â â Replica 3â
ââââââ¬ââââââ ââââââ¬ââââââ ââââââ¬ââââââ
â â â
âââââââââââââââ´ââââââââââââââ
â
Reads distributed
Sharding Strategies:
- Hash-based: Consistent hashing
- Range-based: Date ranges, alphabetical
- Geographic: By region
- Directory-based: Lookup service
API Design
REST Maturity Model
Level 0: Single URI, POST everything Level 1: Multiple URIs, resources Level 2: HTTP methods (GET, POST, PUT, DELETE) Level 3: HATEOAS (Hypermedia controls)
API Versioning
# URL Path
GET /api/v1/users
# Query Parameter
GET /api/users?version=1
# Header
GET /api/users
Accept: application/vnd.api+json;version=1
# Content Negotiation
GET /api/users
Accept: application/vnd.company.api.v1+json
Rate Limiting
Token Bucket Algorithm:
Bucket Capacity: 100 tokens
Refill Rate: 10 tokens/second
Request arrives:
If tokens > 0:
tokens -= 1
Process request
Else:
Reject (429 Too Many Requests)
Reliability Patterns
Circuit Breaker
States: CLOSED â OPEN â HALF-OPEN â CLOSED
CLOSED:
- Normal operation
- Track failures
- If failure_count > threshold: â OPEN
OPEN:
- Reject all requests immediately
- After timeout: â HALF-OPEN
HALF-OPEN:
- Allow limited requests
- If success: â CLOSED
- If failure: â OPEN
Bulkhead
âââââââââââââââââââââââââââââââââââââââââââââââ
â Application â
âââââââââââââââ¬ââââââââââââââ¬ââââââââââââââââââ¤
â Thread â Thread â Thread â
â Pool A â Pool B â Pool C â
â (Orders) â (Users) â (Analytics) â
â â â â
â [===] â [===] â [===] â
â 10 threads â 10 threads â 5 threads â
âââââââââââââââ´ââââââââââââââ´ââââââââââââââââââ
If Orders service fails, only Pool A exhausted.
Pools B and C continue operating.
Retry with Backoff
def exponential_backoff(attempt: int, base: float = 1.0, max_delay: float = 60.0):
delay = min(base * (2 ** attempt), max_delay)
jitter = random.uniform(0, delay * 0.1)
return delay + jitter
# Retry pattern
for attempt in range(max_retries):
try:
result = make_request()
break
except TransientError:
if attempt == max_retries - 1:
raise
time.sleep(exponential_backoff(attempt))
Architecture Documentation
Architecture Decision Record (ADR)
# ADR-001: Use PostgreSQL for primary database
## Status
Accepted
## Context
We need to choose a primary database for our e-commerce platform.
Requirements:
- ACID transactions for orders
- Complex queries for reporting
- Scalability to 10M users
## Decision
We will use PostgreSQL as our primary database.
## Consequences
Positive:
- Strong consistency guarantees
- Rich SQL features
- Excellent JSON support
- Large ecosystem
Negative:
- Manual sharding required at scale
- More complex HA setup than managed NoSQL
## Alternatives Considered
- MongoDB: Better horizontal scaling, but weaker transactions
- CockroachDB: Better scaling, but higher operational complexity
- MySQL: Similar features, but less advanced JSON support
C4 Model
Level 1 - System Context:
[User] â [System] â [External Systems]
Level 2 - Container:
[Web App] â [API] â [Database]
â
[Message Queue] â [Worker]
Level 3 - Component:
API Container:
[Controllers] â [Services] â [Repositories]
Level 4 - Code:
Class diagrams, sequence diagrams
Reference Materials
references/design_patterns.md– Architecture patterns catalogreferences/distributed_systems.md– Distributed systems guidereferences/scalability.md– Scaling strategiesreferences/documentation.md– Architecture documentation
Scripts
# Architecture diagram generator
python scripts/arch_diagram.py --config services.yaml --output diagram.png
# Dependency analyzer
python scripts/dep_analyzer.py --path ./services --output deps.json
# Capacity planner
python scripts/capacity_plan.py --current 10000 --growth 0.5 --period 12
# Service mesh analyzer
python scripts/mesh_analyzer.py --namespace production