Sobes.tech
Middle — Middle+

Ներկայացրեք Circuit Breaker կոմպոնենտի աշխատանքի սկզբունքը և նպատակը հուսալիության համակարգերում։

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 {
    // Դեռահաս սխալ, ծառայությունը մատչելի չէ
}