Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ Circuit Breaker-ის ნიმუშის ფუნქციონირების მექანიზმი და მისი როლი სისტემის საიმედოობის უზრუნველყოფაში?

sobes.tech AI

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

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

როგორ მუშაობს:

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

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

ეს ხელს უშლის გაუმართავი სერვისის ზედმეტ დატვირთვას და საშუალებას აძლევს სისტემას სწრაფად განახლდეს.

გამოყენების მაგალითი Go-ში (სადავიწროებული):

// ფსევდოკოდი
cb := NewCircuitBreaker()

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

ამ გზით, Circuit Breaker-ს შეუძლია სისტემის უფრო მდგრადი გახადოს გაუმართაობების მიმართ.