English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

სტუმარი
1 / ?
უკან გაკვეთილებზე

თითოეული PoP ფლობს სიბრტყის უჯრედს

ვორონოის დაყოფა (ტესელაცია)

მოათავსეთ N წერტილი (PoP-ები: Points of Presence) სიბრტყეზე. დახაზეთ რეგიონების საზღვრები ისე, რომ სიბრტყის ყველა წერტილი მიენიჭოს უახლოეს PoP-ს. შედეგი არის ვორონოის დიაგრამა: სიბრტყე იყოფა N უჯრედად, თითოეული PoP-ისთვის ერთი, რომელიც შეიცავს ყველა იმ წერტილს, რომელიც უფრო ახლოსაა მის PoP-თან, ვიდრე ნებისმიერ სხვასთან.

CDN-ის გეომეტრია: მომხმარებლის ყველა მოთხოვნა მიდის უახლოეს PoP-მდე. თითოეული PoP ემსახურება გეოგრაფიული სიბრტყის უჯრედს. უჯრედის საზღვრები არის მეზობელ PoP-ებს შორის გამავალი სეგმენტების პერპენდიკულარული შუამავლები.

გეომეტრიული კითხვა:

- PoP-ის დამატება ამცირებს მისი მეზობლების უჯრედებს (და ქმნის ახალ უჯრედს)

- PoP-ის წაშლა აიძულებს მის უჯრედს გადანაწილდეს მეზობლებზე (მეზობლებთან ტევადობის მკვეთრი ზრდა)

- მომხმარებელი, რომელიც უჯრედის საზღვართან ახლოსაა, შეიძლება მუდმივად გადართვას PoP-ებს შორის, როცა დატვირთვის ბალანსირება იცვლება

- ერთი PoP-ის გაუმართავობისას ყველა მეზობელი PoP-ის ეფექტური უჯრედი ფართოვდება გაუმართავობის პერიოდში

ოპერაციული შედეგი: როდესაც PoP-ი ცუდად მუშაობს, მისი დატვირთვა არ ქრება — ის გადადის მეზობელ PoP-ებზე. თუ მეზობლები ზომაში მხოლოდ საკუთარ ნორმალურ უჯრედზეა გათვლილი, ეს მკვეთრი მატება მათაც გატეხს (კასკადური PoP-ის გაუმართავობა). მოწიფული CDN პროვაიდერები თითოეულ PoP-ს ზომავენ მეზობელი PoP-ის გაუმართავობის შემთხვევაში წარმოქმნილი დატვირთვის მატებასაც გათვალისწინებით.

Voronoi უჯრედები PoP-ების გარშემო; ერთი PoP-ის გაუმართავობისას მეზობელი უჯრედები ფართოვდება

CDN აწარმოებს 4 PoP-ს, რომლებიც ემსახურება კონტინენტურ აშშ-ს: დასავლეთის სანაპირო, მთიანი რეგიონი, შუა დასავლეთი და აღმოსავლეთის სანაპირო. თითოეული გათვლილია საერთო ამერიკული ტრაფიკის ~25%-ზე. მთიანი რეგიონის PoP-ი გაუმართავი ხდება. იწინასწარმეტყველეთ: (1) რომელი მეზობელი PoP-ები შთანთქავენ გადანაწილებულ დატვირთვას და დაახლოებით რა პროპორციით, და (2) რა მო� произойдет, თუ ეს მეზობლები ზომაში ზუსტად 25%-ზე იყო გათვლილი და არ ჰქონდათ თავისუფალი რეზერვი.

სამკუთხედის უტოლობა, რომელსაც ვერ მოატყუებ

ფიზიკა ადგენს იატაკს

სინათლე ვაკუუმში მოძრაობს ~300,000 კმ/წმ სიჩქარით. ბოჭკოში კი დაახლოებით 200,000 კმ/წმ სიჩქარით — გარდატეხის კოეფიციენტის გამო. ეს ნიშნავს:

- ~1,000 კმ ბოჭკოვანი = ~5 მს ერთმხრივ = ~10 მს მრგვალი მარშრუტით

- აშშ-ის სანაპიროდან სანაპირომდე (~5,000 კმ) = ~50 მს RTT მინიმუმ

- აშშ-დან ევროპამდე (~8,000 კმ) = ~80 მს RTT მინიმუმ

- ანტიპოდური (დედამიწის მეორე მხარე) = ~200 მს RTT მინიმუმ

ეს არის ფსკერი. რეალური RTT ყოველთვის უფრო დიდია (როუტერის ჰოპები, კომუტაცია, რიგში დგომა, კონგესტია). არცერთ აპლიკაციას არ შეუძლია ფიზიკაზე სწრაფად იმუშაოს.

სამკუთხედის უტოლობა

სამი კვანძისთვის A, B, C, სამკუთხედის უტოლობა ამბობს d(A,C) <= d(A,B) + d(B,C): პირდაპირი გზა ყოველთვის უფრო მოკლეა (ან ტოლია) ნებისმიერ არაპირდაპირ გზაზე.

ქსელური ინტერპრეტაცია: თუ თქვენი სერვისი მარშრუტს აკეთებს A → B → C-ის ნაცვლად პირდაპირ A → C-ზე, ლატენცია მინიმუმ ორი მონაკვეთის ლატენციების ჯამია. ხშირად კიდევ უფრო მეტი B-ზე დამუშავების გამო.

არქიტექტურული წაკითხვა: ყველა შუალედური რგოლი (პროქსი, ლოდ-ბალანსერი, CDN-ის ჰოპი) მომხმარებლის აღქმულ ლატენტობას ამატებს სულ მცირე ერთ რაუნდ-ტრიპ ფეხს. CDN-ის სარგებელი მოდის მომხმარებლის ფეხის შემცირებით (PoP უფრო ახლოსაა, ვიდრე origin), თუნდაც საერთო ჰოპების რაოდენობა გაიზარდოს.

მულტი-რეგიონული ხაფანგები: სერვისი, რომელიც კითხულობს რეგიონ A-დან, მაგრამ წერს რეგიონ B-ში, ყველა ჩაწერაზე იღებს A-დან B-მდე ლატენტობას. თუ A და B ერთმანეთისგან 100 მს-ითაა დაშორებული, ყველა ჩაწერა მოითხოვს >= 100 მს-ს მინიმუმ. გაწელილი ბაზები ამ ფლორს ყოველ ჯერზე იხდიან.

Latency triangle: A-B-C floor set by physical distance

გადაიხადე იატაკი (Pay the Floor)

სერვისი მუშაობს ორ რეგიონში: US-East (us-east-1) და EU-West (eu-west-1). ორი რეგიონი ერთმანეთისგან დაახლოებით 5500 კმ-ითაა დაშორებული. სერვისს აქვს პირველადი ბაზა US-East-ში. ევროპელი მომხმარებლების მოთხოვნებს EU-West-ის ბეკენდები ემსახურება, თუმცა ყველა ჩაწერა მოითხოვს დაბრუნებას US-East-ის პირველად ბაზამდე.

გამოთვალეთ ლატენტობის იატაკი ევროპელი მომხმარებლის ჩაწერისთვის (რაუნდ-ტრიპ: ბრაუზერიდან EU-West ბეკენდამდე, US-East-ის პირველად ბაზამდე და უკან). შეადარეთ ევროპელი მომხმარებლის წაკითხვას, რომელიც სრულად EU-West-ის ქეშირებული მდგომარეობიდან მოდის. შემდეგ შემოგთავაზეთ ერთი არქიტექტურული ცვლილება, რომელიც ამცირებს ჩაწერის ლატენტობის იატაკს ევროპელი მომხმარებლებისთვის.

გეოგრაფიული ტევადობის დიზაინი

სინთეზი

ახლა თქვენ შეგიძლიათ წაიკითხოთ ვორონოის უჯრედები როგორც PoP-ის მომსახურების არეები, გამოთვალოთ სინათლის სიჩქარის ლატენციის იატაკები და გამოიყენოთ რიგში-დგომის მრუდი პროქსის დონეზე.

გამოიყენეთ სამივე.

გუნდი გეგმავს CDN-ის დაფარვას სერვისისთვის, რომლის მომხმარებლები განლაგებულნი არიან სამ კონტინენტზე: ჩრდილოეთ ამერიკა (60% მომხმარებელი), ევროპა (30%), აზია (10%). მათ ბიუჯეტი აქვთ 6 PoP-ისთვის. თითოეული PoP შეუძლია მოემსახუროს სტაბილურ უჯრედს 70%-იანი გამოყენებით კიურინგის მრუდის მუხლის გადაჭარბების გარეშე.

დააპროექტეთ PoP-ების განთავსება: (1) როგორ გადაანაწილებდით 6 PoP-ს სამ კონტინენტზე, (2) ყველაზე მცირე წილისთვის (აზია 10%), რა არის ლატენციის იატაკი აზიის მომხმარებლისთვის, რომელიც ევროპის PoP-დან მოემსახურება, თუ აზიაში PoP არ არსებობს (დაახლ. 9000 კმ მანძილი), და (3) რა ზომის თავისუფალი სიმძლავრის (headroom) რეზერვი დაგჭირდებათ თითოეულ PoP-ზე, რომ გადაურჩოთ ერთი PoP-ის გაუმართავობას კასკადური ეფექტის გარეშე?

თანმხვედრი კურსის დახურვა

თანმხვედრი კურსის დახურვა

თქვენ დაასრულეთ geometry-of-* სერიის ყველა ხუთი გაკვეთილი:

- პროქსიები და წყაროები: მიმართული გრაფები, ჰოპების რაოდენობა, fan-in / fan-out, ინდირექცია

- სტეიტლეს ჰორიზონტული სკალირება: Little-ის კანონი როგორც ფართობი, რიგის მრუდი და მისი მუხლი

- Ingress-ისა და Egress-ის გამიჯვნა: ბიპარტიტული სტრუქტურა, საჭრელი წვეროს აღმოფხვრა, პარტიციის ტოლერანტობა

- ჩავარდნის რეჟიმები და Blast Radius: betweenness centrality, მინიმალური ჭრა, დიამეტრი

- Observability & Capacity (ეს გაკვეთილი): Voronoi PoP უჯრედები, latency-ის სამკუთხედის იატაკი, გეოგრაფიული სიმძლავრის დიზაინი

მაგისტრალური ხაზი: განაწილებულ სისტემებს აქვთ გეომეტრიული სტრუქტურა. ყველა არქიტექტურა არის გრაფი. ყველა ლატენციის იატაკი არის სამკუთხედის უტოლობა. ყველა სიმძლავრის გადაწყვეტილება არის მრუდი და მუხლი. როგორც კი გეომეტრიას დაინახავთ, ოპერაციული გადაწყვეტილებები თავისთავად მოჰყვება.

cs_distsys_* სერიის ხუთ ძირითად გაკვეთილთან ერთად თქვენ გაქვთ web-scale განაწილებული სისტემის მოქმედი მენტალური მოდელი და გრაფთეორიული დისციპლინა, რომ მასზე მსჯელობა შეგეძლოთ.

კარგად გააკეთე. Note: The original text "Well done." was translated using the most natural and commonly used Georgian equivalent in educational contexts.