एक मुख्य microservices लाभ हो प्रत्येक सेवालाई स्वतन्त्र रूपमा स्केल गर्नु यसको आफ्नै लोडसँग मेल खान, सम्पूर्ण अनुप्रयोग स्केल गर्नुको सट्टामा। बाधाहरू खोज्नु भनेको तब प्रति-सेवा र प्रति-हप मापन गर्नु हो।
एक मुख्य microservices लाभ हो प्रत्येक सेवालाई स्वतन्त्र रूपमा स्केल गर्नु यसको आफ्नै लोडसँग मेल खान, सम्पूर्ण अनुप्रयोग स्केल गर्नुको सट्टामा। बाधाहरू खोज्नु भनेको तब प्रति-सेवा र प्रति-हप मापन गर्नु हो।
# 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
एक सेवा स्केल गर्नु जसको बाधा एक साझेदारी डेटाबेस हो केवल DB मा थप लोड सार्नुहोस् — लक्षण नभई वास्तविक अवरोध स्केल गर्नुहोस्।
स्वतन्त्र स्केलिङले तपाईलाई क्षमता ठीकै त्यहाँ खर्च गर्न दिन्छ जहाँ लोड छ, जो पूरै monolith स्केल गर्नुको तुलनामा साँच्चै सस्तो छ।
तर अन्धाधुन्द स्केलिङले पैसा बर्बाद गर्छ र चीजहरू गर्न सक्छ; प्रति-सेवा मेट्रिक्स र प्रति-हप ट्रेसहरू मापन गर्नु भनेको तपाईलाई ठीक गर्नको लागि वास्तविक अवरोध बताउनु हो।