Faida muhimu ya microservices ni kuongeza kiwango cha huduma za kila mmoja kwa kujitegemea ili kulingana na mzigo wake mwenyewe, badala ya kuongeza kiwango cha app nzima. Kupata bottlenecks ni basi maswali ya kupimia kwa huduma na kwa harakati.
Faida muhimu ya microservices ni kuongeza kiwango cha huduma za kila mmoja kwa kujitegemea ili kulingana na mzigo wake mwenyewe, badala ya kuongeza kiwango cha app nzima. Kupata bottlenecks ni basi maswali ya kupimia kwa huduma na kwa harakati.
# 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
Kuongeza kiwango cha huduma ambayo bottleneck yake ni hifadhi ya data iliyoshirikiwa tu husogeza mzigo zaidi kwenye DB — ongeza kwazo halisi, si dalili.
Kuongeza kiwango kwa kujitegemea hukuruhusu kutumia uwezo haswa mahali ambapo mzigo uko, ambayo ni karibu rahisi sana kuliko kuongeza kiwango cha monolith kwa jumla.
Lakini kuongeza kiwango kwa mbuvu kunabazifu fedha na inaweza kufanya kiwango kibaya; kupimia vipimo vya kila huduma na mitandao ya kila harakati ni kile kinachokujuza mipango halisi ya kurekeza.