Keuntungan utama microservices adalah menskalakan setiap layanan secara mandiri sesuai bebannya sendiri, alih-alih menskalakan seluruh aplikasi. Menemukan kemacetan adalah masalah pengukuran per-layanan dan per-hop.
Keuntungan utama microservices adalah menskalakan setiap layanan secara mandiri sesuai bebannya sendiri, alih-alih menskalakan seluruh aplikasi. Menemukan kemacetan adalah masalah pengukuran per-layanan dan 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
Menskalakan layanan yang kemacetannya adalah database bersama hanya memindahkan beban lebih ke DB — skalakan batasan nyata, bukan gejalanya.
Penskalaan mandiri memungkinkan Anda mengeluarkan kapasitas dengan tepat di tempat beban berada, yang jauh lebih murah daripada menskalakan monolit secara grosir.
Namun penskalaan membabi buta membuang uang dan dapat memperburuk keadaan; mengukur metrik per-layanan dan jejak per-hop adalah apa yang memberi tahu Anda batasan nyata yang perlu diperbaiki.