← Bütün Patternlər
🕸️

Service Mesh

Servislər arası bütün network əlaqəsini (routing, TLS, retry) koddan çıxarıb infrastruktur qatına vermək.

🎯
Nə üçün lazımdır?

Hər servisdə retry, circuit breaker, mTLS yazmaq əvəzinə bunu proxy infrastrukturuna verirlər. Developer yalnız biznes kodu yazır.

🏗️
2 Qat (Plane)

Data Plane: Hər servisin yanındakı sidecar proxyləri (Envoy). Control Plane: Bütün proxy-ləri mərkəzdən idarə edir (Istiod).

🛠️
Populyar alətlər

Istio, Linkerd, Consul Connect, Service Weaver, AWS App Mesh.

İNTERAKTİV

Vizual İzah

Mərhələ {{ currentStep + 1 }}: {{ steps[currentStep].title }}

🧠
Control Plane (Istiod)
Qaydalar + Sertifikatlar (mTLS)
⬇️ Konfiqurasiya göndərir
A
Service A
🛡️
Proxy
🔒 mTLS
⚠️ HTTP
B
Service B
🛡️
Proxy
CONFIG

Kod Nümunəsi — Istio

virtual-service.yaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
spec:
  hosts: [order-service]
  http:
    - route:
        - destination:
            host: order-service
      retries:              # Retry — kodda yox, YAML-da!
        attempts: 3
        retryOn: 5xx
      timeout: 5s             # Timeout — kodda yox!
peer-authentication.yaml (mTLS aktiv)
apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: default
  namespace: production
spec:
  mtls:
    mode: STRICT  # Bütün trafik şifrələnir
✅ Üstünlükləri
  • Developer kodda network məntiqi yazmır
  • Avtomatik mTLS, observability, traffic splitting
  • Dil müstəqil — Java, Go, Python fərq etmir
⚠️ Riskləri
  • Öyrənmə əyrisi çox yüksəkdir
  • Əlavə latency (hər istək proxy-dən keçir)
  • Kiçik komandalar üçün overengineering