მიკროსერვისების ძირითადი სარგებელი არის თითოეული სერვისის დამოუკიდებელი მასშტაბირება თავისი დატვირთვის შესაბამისად, მთელი აპლიკაციის მასშტაბირების ნაცვლად. ვიწრო ადგილების პოვნა არის სერვის-განზომილებიანი და hop-განზომილებიანი გაზომვის საკითხი.
მიკროსერვისების ძირითადი სარგებელი არის თითოეული სერვისის დამოუკიდებელი მასშტაბირება თავისი დატვირთვის შესაბამისად, მთელი აპლიკაციის მასშტაბირების ნაცვლად. ვიწრო ადგილების პოვნა არის სერვის-განზომილებიანი და 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
სერვისის მასშტაბირება, რომლის ვიწრო ადგილი არის გაზიარებული მონაცემთა ბაზა, უბრალოდ გადააქვს მეტი დატვირთვა DB-ში — მასშტაბი რეალური შეზღუდვა, არა სიმპტომი.
დამოუკიდებელი მასშტაბირება საშუალებას გაძლევთ ზუსტად იქ დახარჯოთ სიმძლავრე, სადაც დატვირთვა მდებარეობს, რაც ბევრად დაბალია, ვიდრე monolit-ის მთელი მასშტაბირება.
მაგრამ ცრუ მასშტაბირება ფულს ხელოვთ ხელმოწერას და შეიძლება ხელი შეუშალოს; სერვის-განზომილებიანი მეტრიკებისა და hop-განზომილებიანი ტრეკების გაზომვა არის ის, რაც გიჩვენებთ რეალურ შეზღუდვას, რომელიც უნდა გამოასწოროთ.
IT გასაუბრების კითხვების ბიბლიოთეკა დეტალური პასუხებით — Junior-დან Senior-მდე.
შემოწირულობა