Skip to content
arch_patterns logo

🏗️ Architecture Patterns

arch_patterns

Architecture patterns - monolith vs microservices, layered, event-driven, CQRS.

SKILL.md

Full skill instructions

🏗️ Architecture Patterns

Sistem mimarisi pattern'ları.


⚠️ Bu Skill vs design-patterns

Bu Skilldesign-patterns
Sistem mimarisiUI/​UX tasarım
Microservices, CQRSZ-index, shadows
Database, scalingAnimation, spacing

Kural: Backend/​sistem → bu skill, Frontend/​UI → design-patterns


⚖️ Monolith vs Microservices

AspectMonolithMicroservices
ComplexityDüşükYüksek
ScalingTüm uygulamaService bazlı
Team SizeKüçükBüyük

Seç:

  • Monolith: Küçük takım, MVP, hızlı iteration
  • Microservices: Büyük takım, bağımsız deploy

📚 Layered Architecture

Presentation → Application → Domain → Infrastructure

⚡ Event-Driven

Producer → Event Broker → Consumer
           (Kafka/​SQS)

📊 CQRS

Command Service → Write DB
                    ↓ Events
Query Service ← Read DB

🧩 Modular Monolith

Modules separated by boundaries within a single deployable unit.
Good for: Teams growing from startup to scale-up phase.
Prevents "Distributed Monolith" chaos.

Architecture Patterns v1.1 - Enhanced

🔄 Workflow

Kaynak: Software Architecture Guide

Aşama 1: Requirements Analysis

  • Functional: Ne yapacak? (E-ticaret, Blog, IoT)
  • Non-Functional: Scalability, Latency, Consistency ihtiyacı.
  • Constraints: Takım boyutu, bütçe, timeline.

Aşama 2: Complexity Assesment

  • Domain Complexity: Karmaşıksa -> DDD + Layered/​Hexagonal.
  • Scale Complexity: Yüksek trafik -> Event-Driven / Microservices.
  • Data Complexity: Raporlama ağırsa -> CQRS.

Aşama 3: Pattern Selection

  • Default: Modular Monolith ile başla.
  • Scale-out: Bağımsız scale gereken modülleri ayır (Microservices).
  • Real-time: Event-Driven ekle.

Kontrol Noktaları

AşamaDoğrulama
1Gereksinimler net (NFRs belirlendi)
2Seçilen pattern probleme uygun (Over-engineering değil)
3Takım bu mimariyi yönetebilir