Sobes.tech
Middle — Middle+

გთხოვთ, ახსენით სქემის მუშაობის პრინციპი და დანიშნულება სანდოობის სისტემებში.

sobes.tech AI

პასუხი AI-სგან

Circuit Breaker კომპონენტი გამოიყენება განაწილებული სისტემების საიმედობის გაზრდისთვის, თავიდან აცილების მიზნით არასამუშაო სერვისის განმეორებითი გამოძახების მცდელობებს და სისტემის დატვირთვის შემცირებას.

მოქმედების პრინციპი:

  1. დახურული მდგომარეობა: ყველა მოთხოვნა ჩვეულებრივ გადის.
  2. გახსნილი მდგომარეობა: თუ შეცდომების რაოდენობა გადააჭარბა ზღვარს, Circuit Breaker «გახსნება» და იკრძალება დამატებითი მოთხოვნები, დაუყოვნებლივ დაბრუნებით შეცდომა ან ალტერნატიული პასუხი.
  3. ნახევრად გახსნილი მდგომარეობა: გარკვეული დროის შემდეგ, გახსნის შემდეგ, იძლევა შეზღუდულ რაოდენობას მოთხოვნების, რათა შეამოწმოს, განახლდა თუ არა სერვისი.

თუ მოთხოვნები წარმატებულია, ის დაბრუნდება დახურულ მდგომარეობაში, წინააღმდეგ შემთხვევაში — კვლავ გაიხსნება.

ეს თავიდან აცილებს გადატვირთვას ჩავარდნილი სერვისის და აძლევს დროის მისაღებად, სისტემის საერთო სტაბილურობის გასაუმჯობესებლად.

მაგალითი Go-ში (სადავიწრო):

// ფსევდოკოდი
cb := NewCircuitBreaker(3, time.Minute) // 3 შეცდომა - გაიხსნება 1 წუთით

if cb.AllowRequest() {
    err := callRemoteService()
    if err != nil {
        cb.RecordFailure()
    } else {
        cb.RecordSuccess()
    }
} else {
    // დაუყოვნებლივ დაბრუნება შეცდომა, სერვისი მიუწვდომელია
}