შემომავალი და გამავალი როგორც განსხვავებული სიმრავლეები
ბიპარტიტული გრაფები ქსელის არქიტექტურაში
ბიპარტიტული გრაფი ყოფს წვეროებს ორ სიმრავლედ, რომელთა შორისაც კიდეები დაშვებულია მხოლოდ სიმრავლეებს შორის (არასდროს ერთი და იმავე სიმრავლის შიგნით).
ქსელის საზღვრებს აქვთ ბუნებრივი ბიპარტიტული სტრუქტურა:
- ინგრესის მხარე: გარე კლიენტები ერთ მხარეს, შიდა სერვისები მეორე მხარეს. კიდეები: გარე მოთხოვნები შემოდის, შიდა პასუხები გამოდის.
- გამომავალი მხარე (Egress): შიდა სერვისები ერთ მხარეს, გარე დანიშნულების ადგილები მეორე მხარეს. კიდეები: შიდა სერვისები ინიცირებენ გამავალ გამოძახებებს, გარე პასუხები კი ბრუნდება.
ასიმეტრია:
- შემომავალი (Ingress): წყაროების სიმრავლე უსაზღვროა (ინტერნეტზე ნებისმიერი). დანიშნულების სიმრავლე კი მცირეა (რამდენიმე სერვისი). მოცულობა იზრდება მომხმარებლების რაოდენობასთან ერთად.
- გამომავალი (Egress): წყაროების სიმრავლე მცირეა (რამდენიმე შიდა სერვისი). დანიშნულების სიმრავლე შეზღუდულია (რამდენიმე ცნობილი პარტნიორი). მოცულობა იზრდება შიდა აქტივობასთან ერთად.
ერთჯერადი კვანძის დიზაინი აერთიანებს ორივე ბიპარტიტულ ნახევარს ერთი კვანძის მეშვეობით. ამ კვანძს აქვს შემოსული კავშირები გარედან (ingress) და შიდა მხრიდან (egress-ის საპირისპირო მიმართულება). კვანძის დატვირთვა = ორივე მხარის ჯამი.
გაყოფილი დიზაინი ინარჩუნებს ორივე ბიპარტიტულ ნახევარს განცალკევებულ კვანძებზე. თითოეული კვანძი ასრულებს მხოლოდ ერთ როლს და იყენებს მისთვის შესაფერის მასშტაბირების ღერძს.
გაყოფამდე: ჭრელი წვერო ყველგან
ერთ-ყუთიანი: ერთი წვერო ყველაფერს ფლობს
Note: All placeholders, formatting markers, block identifiers, and structure have been strictly preserved. The content has been translated into natural, educational Georgian.გაყოფამდე ყველა გარე/შიდა წყვილს შორის ერთი პროქსი ბოქსი იდგა. გრაფის თვალსაზრისით ის მაღალი რიგის კვეთის წვეროა (cut vertex of high order): მისი ამოღება откავშირებს ყველა კლიენტს ყველა ბეკენდისგან და ყველა შიდა სერვისს ყველა გარე პარტნიორისგან.
ამ წვეროში კავშირის რიცხვი = 1. ყველაფერი, რაც ამ წვეროს დააზიანებს (პროცესის კრაში, ქსელის გაუმართაობა, OOM kill) გათიშავს ყველა დამოკიდებულ გზას.
გაყოფის შემდეგ: კვეთის წვერო ჩანაცვლებულია ორი უფრო მსუბუქი წვეროთი
Ingress-ად და egress-ად გაყოფა ქმნის ორ გრაფის წვეროს იქ, სადაც ერთი იყო. თითოეული წვერო ახლა მხოლოდ ერთ ბიპარტიტულ ნახევარზეა განთავსებული:
- Ingress წვერო: კვეთის წვეროა გარე-კლიენტები → შიდა-სერვისები ბიპარტიტული ნახევრისთვის
- Egress წვერო: კვეთის წვეროა შიდა-სერვისები → პარტნიორები ბიპარტიტული ნახევრისთვის
თმის სამაგრის მარყუჟი (hairpin loop) გეომეტრიულად ქრება: ერთი ბოქსის გრაფში, შიდა სერვისისთვის საჯარო მისამართით გარე სერვისის მიღწევა საჭიროებდა იმავე წვეროს ორჯერ გადალახვას (გასვლა egress როლით, შემოსვლა ingress როლით). გაყოფილი გრაფში ტრავერსალი ორ სხვადასხვა წვეროს ეხება.
თითოეულ მხარეს კავშირის რიცხვი რჩება 1-ზე, თუმცა ორი კვეთის წვერო დამოუკიდებლად შეიძლება ჩანაცვლდეს. მეორე ingress პროქსის დამატება ზრდის ingress-მხარის კავშირის რიცხვს 2-მდე, გარეშე მხარის ცვლილების გარეშე.
რეპლიკაცია თითოეულ მხარეს
საწარმოო ფლოტები ხშირად აწარმოებენ 2+ შემავალ პროქსის (HA) და 2+ გამავალ პროქსის (HA). თითოეული მხარე დამოუკიდებლად აღწევს კავშირის 2-ს. ტევადობა ჰორიზონტალურად იზრდება თითოეულ მხარეს საჭიროებისამებრ.
ქსელის დაყოფის ტოლერანტობა
სინთეზი
ახლა თქვენ შეგიძლიათ წაიკითხოთ ქსელის არქიტექტურები როგორც ბიპარტიტული გრაფები, ამოიცნოთ საჭრელი წვეროები და თვალყური ადევნოთ კავშირის მდგომარეობას თითოეულ ნახევარში.
გამოიყენეთ ეს ქსელის დაყოფებზე.
ქსელის პარტიცია არის გრაფის ჭრა: პარტიციის გასწვრივ კიდეები წყდება; ორივე მხარე განაგრძობს მუშაობას, მაგრამ ვერ უკავშირდება ერთმანეთს.
გეოგრაფიულად განაწილებულ სისტემას აქვს ორი დატაცენტრი, რომლებიც დაკავშირებულია ერთი inter-DC ბმულით. შემომავალი ტრაფიკი შედის DC1-ის მეშვეობით; გამავალი ტრაფიკი გადის DC1-ით გარე პარტნიორებისკენ; ზოგიერთი შიდა სერვისი მდებარეობს DC2-ში და უბრუნდება DC1-ს მდგომარეობითი (stateful) ოპერაციებისთვის.
თანმხვედრი შენიშვნები
თანმხვედრი შენიშვნები
ეს geometry-of გაკვეთილი Ingress & Egress Separation ძირითად გაკვეთილს ხელახლა წარმოადგენს როგორც ორნაწილიანი გრაფის ანალიზს.
შემდეგი თანმხვედრი, geometry_of_failure_modes_and_blast_radius, გამოანგარიშებს betweenness centrality-ს (განსაზღვრავს ბოთლნეკ კვანძებს) და min-cut-ს (ზღუდავს blast radius-ს).
კარგად შეასრულეთ. Explanation: Only the requested block was provided in the query, so only that block has been translated and returned in the exact specified format. All placeholders, structure, and formatting instructions have been strictly preserved.