ხანგრძლივი კუდის წაკითხვა
დაყოვნება ცხოვრობს მრუდზე, რიცხვზე არა
საშუალო დაყოვნება იმალება იმას, რა აცდენ ხედავენ მომხმარებლები. რეალური სერვისები აწარმოებენ განაწილებას: მრუდი, რომელიც აჩვენებს რამდენი მოთხოვნა დასრულდა რამდენ ხანში.
ამ მრუდის სამი წერტილი ატარებს ოპერაციული მნიშვნელობის უმეტეს:
- p50 (მედიანა): განაწილების შუაში. მოთხოვნების ნახევარი სწრაფად დასრულდება, ნახევარი უფრო ნელი. აღწერს ტიპიურ გამოცდილებას.
- p99: 99-ე პერცენტილი. მოთხოვნების მხოლოდ 1% დასრულდა ამ დროზე უფრო ნელი. აღწერს უარესი გამოცდილებას ტიპიური მომხმარებლებისთვის.
- p99.9: მოთხოვნების მხოლოდ 0.1% დასრულდა უფრო დიდი დროით. აღწერს უარესი გამოცდილებას ძლიერ აქტიური მომხმარებლებისთვის, რომელიც ხშირად მიმართებენ სერვისს.
გეომეტრიული შეხედულება: დაყოვნების განაწილება თითქმის ყოველთვის აქვს ხანგრძლივი მარჯვენა კუდი. მრუდი სწრაფად აღწევს პიკს მედიანის გარშემო, შემდეგ ნელი ვარდნა მარჯვნივ, ხშირად მცირე აწვეთი უშორეს საშუალოდან. ეს აწვეთი წარმოადგენს ყველაზე ნელი მომხმარებლებს: ის ვინც წერს გაბრაზებული ბილეთი.
რატომ საშუალოებთ აკოცმებს: სერვისი საშუალო დაყოვნებით 50 ms და p99 5000 ms აქვს 100x განსხვავება ტიპიური და კუდი გამოცდილებას შორის. არითმეტიკული საშუალო შეიძლება დაიკლებოდეს 100 ms-ზე, სრულად იმალება კატასტროფა. არითმეტიკული საშუალო არის ერთი წერტილის პროექცია 2D ფორმის: თითქმის მთელი ინფორმაცია ფორმის აქრება.
პერცენტილის გამრავლების პრობლემა: მოთხოვნა, რომელიც აფრიკელი 10 ბექენდ სერვისი პარალელურად, თითოეული p99 100 ms, აქვს p99 დაახლოებით 600 ms (არა 100 ms). ნელი კუდი რაოდენობა მრავლდება. ეს არის რატომ SRE წიგნი გაფრთხილებული: 'ფრთხილი იყავით ყველაზე ნელი N-ის'. როგორც N იზრდება, თქვენი კუდი დაყოვნება გაუარესდება სწრაფად.
კუდის დაყოვნების მათემატიკა
Service A აქვს მოთხოვნის დინება, რომელიც ფანებს 5 ბექენდ სერვისი პარალელურად და ელის ყველა პასუხი. თითოეული ბექენდი აქვს p99 დაყოვნება 100 ms.
ბიუჯეტის დაფიქსირება ფერდობとして
ბიუჯეტის გრაფიკი დროის განმავლობაში
შეცდომის ბიუჯეტი დახატული 2D ღერძებზე (დრო x-ზე, დარჩენილი ბიუჯეტი y-ზე) აღმოჩენილია სერვისის ჯანმრთელობა ერთი შეხედვით. გამდიდრების მრუდის ფორმა ატარებს იმავე ინფორმაციას, რომელიც ათი დეშბორდი გამოხატავდა ცალკე.
სამი მითითების ფორმა:
- ჯანმრთელი ხაზოვანი გამდიდრება: ბიუჯეტი ვარდება სწორი ხაზი პროპორციული დრო გასული. დღე 14 28-დღიანი ფანჯრის, ნახევარი ბიუჯეტი დაიკლო. ეს არის SLO მიზანი ხილული.
- სწრაფი წვა: ხე ფერდობი ქვემოთ. მიუთითებს აქტიური სანდოობის პრობლემა. თუ ფერდობი უკვე საკმარისი, ბიუჯეტი ამოწურულია დაიკლო ფანჯარი გაწმენდა, შესხმელი შეცდომის ბიუჯეტი პოლიტიკა.
- დაკეცილი მრუდი: ბინა ან აღმასვლა სეგმენტი. სერვისი სრულფასოვანი სჯობია რა მისი SLO. ბიუჯეტი დარჩენილი მზრდება დროის განმავლობაში, გახსნას საშუალებას რისკიანი ლঞ্چი.
დაწვის სიჩქარე არის ფერდობი გამდიდრება ხაზი, ნორმალიზებული: დაწვის სიჩქარე 1 ნიშნავს დაწვა ბიუჯეტი ზუსტი როგორც სწრაფი როგორც დრო გასული (სრულყოფილი შეჰყა SLO). დაწვის სიჩქარე 10 ნიშნავს დაწვა 10x სწრაფი თვიოდან დაშვებული: მთლიანი თვიური ბიუჯეტი გამდიდრება 2.8 დღის ამ მაჩვენებელი.
მრავლობითი-ფანჯარი მრავლობითი-დაწვის-სიჩქარე შეტყობინებული: Google-ის SRE წიგნი რეკომენდაციები გაფრთხილება კომბინირებული პირობები როგორიცაა 'დაწვის სიჩქარე ზე 14.4 ყოველ ბოლო საათი AND გაზე 14.4 ყოველ ბოლო 5 წუთი'. გეომეტრია: დაკიდებული ხე ფერდობი, არა მხოლოდ მოკლე დაუკვიქე. ეს ფორმა დღამდე შემოვარდნილი blips გარიჟ რეალური გამდიდრება მუქარა.
დაწვის სიჩქარის კითხვა
თქვენი გუნდის SLO არის 99.9% 28 დღის განმავლობაში. დღე 7-ზე, თქვენ უკვე გამოიყენეთ 60% თქვენი შეცდომის ბიუჯეტი. მიმდინარე დაწვის სიჩქარე ბოლო 24 საათი არის 8.
სერვისი როგორც განკუთვნილი გრაფიკი
წარმოება როგორც DAG
მოდერნული სერვისი აკვემებთ გრაფიკი დამოკიდებულების. თითოეული სერვისი არის კვანძი. თითოეული მოწვევა სერვისი A სერვისი B არის განკუთვნილი ზღვარი სახელ B. სრული სურათი ფორმები განკუთვნილი გრაფიკი (ხანდახან DAG, ხანდახან დაწვერი ვერ ასინქრონი ხელახლა ცდის).
კრიტიკული გეომეტრიული თვისებები:
- გამომავალი ხარისხი: რამდენი სერვისი ა კვანძი დამოკიდებული. უფრო მაღალი გამომავალი ხარისხი ნიშნავს მეტი ზედა უჯიშის დაკარგვის რეჟიმი. სერვისი რომელიც დამოკიდებული 12 ბექენდი ვერცხვის თუ რომელიმე მათ ვერცხვის.
- შემომავალი ხარისხი (ვენტილატორი-მარჯნივ): რამდენი სერვისი დამოკიდებული ამ კვანძი. უფრო მაღალი შემომავალი ხარისხი ნიშნავს ერთი წარუმატებელი აქ წაკეკის ფართოდ. მონაცემთა ბაზა განტოლება 30 დამოკიდებული სერვისი აქვს ყველაზე დიდი საფრთხის რადიუსი.
- ცენტრალურობის სიხშირე: რამდენი უმოკლესი ბილიკი ღებულობ კვანძი. მაღალი-ცენტრალურობის კვანძი არიან ხაზის წერტილი. აუთენტიფიკაცია სერვისი და ბირთვი API-ები ჩვეულებრივ ციფრა მაღალი.
- ძლიერად დაკავშირებული კომპონენტი: ჯგუფი სერვისი რომელიც ფორმა დაწვერი. თუ A მოწვევა B და B მოწვევა A, თქვენ აქვს დაწვერი. დაწვერი რთული უჯიშის აღდგენა: დაწყება თითოეული სერვისი მოითხოვს სხვა უკვე მუშაობ.
საფრთხის რადიუსი არის გეომეტრიული კონცეფცია რომელიც წაბარი სანდოობის ინვესტიცია. უჯიშის საფრთხის რადიუსი არის subgraph დამოკიდებული სერვისი იგი გავლენას ახდენს. სანდოობის ინჟინერია ინვესტიცია უმძიმეს კვანძი უმაღლესი საფრთხის რადიუსი. ანაზარი გზა ხელმისაწვდომელი სარწყავი სანდოობა ხშირად თვის დადგენილება ან graceful degradation უმაღლესი-ცენტრალურობის კვანძი.
საფრთხის რადიუსი მსჯელობა
მომხმარებელი სერვისი დამოკიდებული: AuthService, UserDB, ProductCatalog, PaymentGateway, RecommendationEngine, EmailService, AnalyticsService. AuthService აქვს 47 სხვა სერვისი დამოკიდებული. EmailService აქვს 3 სხვა სერვისი დამოკიდებული. RecommendationEngine აქვს 2 სხვა სერვისი დამოკიდებული.
ინფორმაციის გეომეტრია დეშბორდი
პიქსელი არის რეალური ქონება
დეშბორდი არის 2D ზედაპირი რომელიც კონკრეტული ფართობი. თითოეული პიქსელი გამოყოფილი ერთი სიგნალი არის პიქსელი არა გამოყოფილი სხვა. დეშბორდი დიზაინი არის გეომეტრია პრობლემა: მოწყობილი ყველაზე გადაწყვეტილება-შესაბამი ინფორმაცია ფაქტორი მცირე ვიზუალური ფართობი პირდაპირი სივრცეშ ურთიერთობა რომელიც აიდ აღიარებული.
კითხვა ნიმუშები: დასავლელი მკითხველი დასკან F-ფორმა (ზე-მარცხენა პირველი, მაშინ ზე, მაშინ კვლები). ყველაზე მნიშვნელოვანი სიგნალი კუთხეს ზე-მარცხენა. ქვედა-მარჯვენა აღებულია მოკლე ყურადღება.
Gestalt დაჯგუფება: სიგნალი სხვა სერვისი კუთხეს იმავე ვიზუალური ჯგუფი. დაყოვნება, ტრაფიკი, შეცდომა, და დაჩირდ ერთი სერვისი კუთხეს 2x2 ბადე, არა ზღვრები ეკრანი. ვიზუალური მახლობელი encodes ლოგიკური ურთიერთობა.
ფერი კოდირება: წითელი შეცდომა, ყვითალი დაჩირდ, მწვანე ჯანმრთელი დიაპაზონი. ფერი არჩევანი კონვენციები, არა შემთხვევითი. ინვერტირება მათ ღირებული კოგნიტური დატვირთვა ყოველ glance საფრთხის დროს.
Y-ღერძი სკალირება: გრაფიკი სკალირება 0-100% გამოიყურება მშვიდი თუნდაც პროფილი ორმაგი ტრაფიკი. გრაფიკი თვითი-სკალირება ბოლო მნიშვნელობა გამოიყურება alarmingly ნორმალური variation. ორივე არჩევანი აქვს შესაფერი გამოყენება; არჩევანი გეომეტრია, არა კოსმეტიკული.
ინფორმაციის სიმკვრივე: ხელმოკიდეთ რა რამდენი სიგნალი რა გუნდი ბრმა რა არის ღირებული. ხელმოკიდეთ რა ბევრი похороны სიგნალი ხმაური. Edward Tufte-ის მონაცემი-მელნი თანაფარდობა ვრცელდება: maximize თანაფარდობა მელნი რომელიც conveys ინფორმაცია მელნი რომელიც decorates. Sparkline-სტილი minimalism beats იტვავა ვიჯეტი glance.
დიზაინი პირველი Glance
თქვენი გუნდი დიზაინი ერთი პირველითი დეშბორდი სერვისი რომელიც აქვს 8 კრიტიკული SLI-ები 4 ბექენდი დამოკიდებულების. დეშბორდი ჯამი პასუხი ზე-ზეწოდებული ინჟინერი პირველი შეკითხვა 3 AM 5 წამი: 'არის რაიმე აკრიფოს, & თუ, სად?'
სერვისის სანდოობის ინჟინერიის გეომეტრია: შეჯამება
ფორმა რომელიც გაშვება წარმოება
თქვენ გაიარა ოთხი გეომეტრიული სტრუქტურა რომელიც გაშვება ქვეშ SRE პრაქტიკა:
- დაყოვნების განაწილება ხანგრძლივი კუდი მრუდი სადაც პერცენტილი წერტილი ატარებს უფრო სიმართე საშუალო
- შეცდომის ბიუჯეტის კონუსი სადაც ფერდობი გამდიდრება გამოჩნდება სერვისის ჯანმრთელობა უკეთეს დაკლო რიცხვი
- სერვისის დამოკიდებულების გრაფიკი სადაც საფრთხის რადიუსი და ცენტრალურობა სახელმძღვანელი სანდოობის ინვესტიცია
- დეშბორდის განლაგება 2D რეალური ქონება სადაც პიქსელი გამოყოფილი გეომეტრია პრობლემა ოპერაციული შედეგი
გეომეტრიული აზროვნება არის რა გამოყოს SRE სამი ზოგადი ოპერაციები მუშაობა. ოპერაციული ინჟინერი კითხვა რიცხვი. SRE კითხვა ფორმა. ფორმა encode ინფორმაცია რომელიც არა ერთი რიცხვი შეიძლება capture: ფერდობი დაწვის სიჩქარე, fatness კუდი, ცენტრალურობა კვანძი, gestalt დეშბორდი პანელი.
თოვლოვი სერვისის სანდოობის ინჟინერიის ელი სერვისი თავის აღმოჩენა. ეს სიგელი დაფარული გეომეტრია მათ ქვეშ. ერთად ისინი ფორმა ვიზუალური და კონცეპტუალური სამჯდომელი მოდერნული სანდოობის ინჟინერია.