Middle — Middle+
გთხოვთ, ახსენით სქემის მუშაობის პრინციპი და დანიშნულება სანდოობის სისტემებში.
sobes.tech AI
პასუხი AI-სგან
Circuit Breaker კომპონენტი გამოიყენება განაწილებული სისტემების საიმედობის გაზრდისთვის, თავიდან აცილების მიზნით არასამუშაო სერვისის განმეორებითი გამოძახების მცდელობებს და სისტემის დატვირთვის შემცირებას.
მოქმედების პრინციპი:
- დახურული მდგომარეობა: ყველა მოთხოვნა ჩვეულებრივ გადის.
- გახსნილი მდგომარეობა: თუ შეცდომების რაოდენობა გადააჭარბა ზღვარს, Circuit Breaker «გახსნება» და იკრძალება დამატებითი მოთხოვნები, დაუყოვნებლივ დაბრუნებით შეცდომა ან ალტერნატიული პასუხი.
- ნახევრად გახსნილი მდგომარეობა: გარკვეული დროის შემდეგ, გახსნის შემდეგ, იძლევა შეზღუდულ რაოდენობას მოთხოვნების, რათა შეამოწმოს, განახლდა თუ არა სერვისი.
თუ მოთხოვნები წარმატებულია, ის დაბრუნდება დახურულ მდგომარეობაში, წინააღმდეგ შემთხვევაში — კვლავ გაიხსნება.
ეს თავიდან აცილებს გადატვირთვას ჩავარდნილი სერვისის და აძლევს დროის მისაღებად, სისტემის საერთო სტაბილურობის გასაუმჯობესებლად.
მაგალითი Go-ში (სადავიწრო):
// ფსევდოკოდი
cb := NewCircuitBreaker(3, time.Minute) // 3 შეცდომა - გაიხსნება 1 წუთით
if cb.AllowRequest() {
err := callRemoteService()
if err != nil {
cb.RecordFailure()
} else {
cb.RecordSuccess()
}
} else {
// დაუყოვნებლივ დაბრუნება შეცდომა, სერვისი მიუწვდომელია
}