En nøglefordel ved mikroservices er uafhængig skalering af hver service for at matche dens egen belastning, i stedet for at skalere hele appen. At finde flaskehalse er derefter et spørgsmål om måling per-service og per-hop.
En nøglefordel ved mikroservices er uafhængig skalering af hver service for at matche dens egen belastning, i stedet for at skalere hele appen. At finde flaskehalse er derefter et spørgsmål om måling per-service og per-hop.
# Kubernetes HPA: scale orders on CPU
minReplicas: 3
maxReplicas: 20
metric: cpu
targetUtilization: 70 # add pods when avg CPU > 70%
1. Metrics: which service has high latency / saturation? (RED/USE)
2. Traces: which SPAN in the request is slow?
3. Drill in: DB query? lock? N+1 calls? GC pause?
Gateway ──┤ Orders ──┤ Payments ████████████ ← 80% of latency here
Inventory ─┤
⚠️ Chatty synchronous calls (fan-out per request)
⚠️ Shared/overloaded database
⚠️ Missing or cold cache
⚠️ Unbounded retries amplifying load
Skalering af en service hvis flaskehals er en delt database flytter bare mere belastning over på DB — skalér den faktiske begrænsning, ikke symptomerne.
Uafhængig skalering lader dig bruge kapacitet præcist hvor belastningen er, hvilket er meget billigere end at skalere en monolith i sin helhed.
Men blind skalering spilder penge og kan forværre tingene; måling af per-service metrics og per-hop traces fortæller dig den faktiske begrænsning at rette op på.