Middle — Middle+
Ներկայացրեք Circuit Breaker կոմպոնենտի աշխատանքի սկզբունքը և նպատակը հուսալիության համակարգերում։
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 {
// Դեռահաս սխալ, ծառայությունը մատչելի չէ
}