Cheat Sheet (KMC برای چالشها)
🔹 C4 Model
Key: C4 (Context, Container, Component, Code)
Meaning: مدل معماری ۴ لایه برای سادهسازی توسعه و تست
Context:
Context: مرزبندی سیستم و ذینفعان (ICD, RACI)
Container: سرویسها (NFR, SLA/SLO/SLI, Circuit Breaker, Canary, OAuth2/JWT)
Component: ماژولها (Contract Tests, Saga, CQRS)
Code: اصول SOLID، Unit/Regression Tests، CI/CD
---
🔹 NFR (Non-Functional Requirements)
Key: NFR (Performance, Availability, Security, Reliability, Scalability)
Meaning: کیفیت سرویس فراتر از فانکشنال
Context:
Performance → KPI: latency (p95 < 2s)
Availability → SLA 99.9% uptime
Security → PCI-DSS, GDPR, PII
Scalability → تحمل پیک بار، Rate Limiting
---
🔹 Risk Matrix
Key: Risk Matrix (Severity × Probability)
Meaning: اولویتبندی ریسکها با امتیاز
Context:
ریسک وابستگی به OTP در پیک → High×High
کاهش: Circuit Breaker, Fallback, Alert
---
🔹 SQL / ERD / 3NF
Key: ERD / SQL / 3NF
Meaning: مدل داده با PK/FK و نرمالسازی
Context:
روابط Customer 1:N Policy, Policy 1:N Payment
M:N → جدول واسط با Composite PK
Query Optimization: Index, EXPLAIN
---
🔹 Observability
Key: Observability (Logs, Metrics, Tracing)
Meaning: سه ستون برای مانیتورینگ end-to-end
Context:
Log: خطاها و trace_id
Metrics: latency, error rate, TPS
Tracing: مسیر کامل بین سرویسها (Root Cause Analysis, Five Whys)
---
🔹 Integration & Regression Testing
Key: Integration / Regression Test
Meaning: تضمین سلامت سرویس بعد از تغییر
Context:
Integration: چک تعامل سرویسها (API Contract)
Regression: جلوگیری از برگشت باگهای قبلی
---
🔹 Release Strategies
Key: Canary / Blue-Green / Rolling
Meaning: استقرار کمریسک
Context:
Canary: %5 → %10 → %25 → rollback در صورت شکست
Blue-Green: نسخه موازی و سوییچ یکباره
---
🔹 Fault Tolerance
Key: Circuit Breaker / Retry / Backoff / Idempotency
Meaning: الگوهای تابآوری
Context:
Circuit Breaker: جلوگیری از فشار به سرویس دان
Retry/Backoff: تلاش مجدد هوشمند
Idempotency-Key: جلوگیری از تراکنش تکراری
---
🔹 Data Migration & Consistency
Key: Migration / Consistency
Meaning: انتقال و یکپارچگی دادهها
Context:
بررسی فرمت دادههای قدیمی
جلوگیری از افت داده
هماهنگی داده بین سرویسها
---
🔹 Problem-Solving (Root Cause)
Key: RCA / Five Whys
Meaning: کشف علت اصلی مشکل
Context:
Incident در OTP یا تراکنش
۵ بار «چرا» برای پیدا کردن Root Cause