Një përfitim kyç i microservices është shkallëzimi i pavarur i secilit shërbimi për të përputhur ngarkesën e tij, në vend të shkallëzimit të të gjithë aplikacionit. Gjetja e ngushtëzimeve është pastaj çështja e matjes për shërbim dhe për kërcim.
Një përfitim kyç i microservices është shkallëzimi i pavarur i secilit shërbimi për të përputhur ngarkesën e tij, në vend të shkallëzimit të të gjithë aplikacionit. Gjetja e ngushtëzimeve është pastaj çështja e matjes për shërbim dhe për kërcim.
# 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
Shkallëzimi i një shërbimi, ngushtëzimi i të cilit është një bazë e dhënash e ndarë, thjesht zhvendos më shumë ngarkesë në DB — shkallëzoni kufizimin aktual, jo simptomin.
Shkallëzimi i pavarur ju lejon të shpenzoni kapacitetin saktësisht ku është ngarkesa, gjë që është shumë më lirë sesa shkallëzimi i një monoliti në toto.
Por shkallëzimi verbalisht shpërdoron paratë dhe mund të përkeqësojë gjërat; matja e metrikave për shërbim dhe gjurmime për kërcim është ajo që ju tregon kufizimin e vërtetë për të rregulluar.