Ի՞նչ է սագան գործարքների կառավարման համատեքստում։
sobes.tech AI
Պատասխան AI-ից
Սագան մոդել է բաշխված գործարքների կառավարում microservice-ների ճարտարապետությունում: Այն ներկայացնում է տեղական գործարքների հաջորդականություն, որտեղ յուրաքանչյուր գործարք թարմացնում է տվյալները մեկ ծառայության շրջանակում:
Եթե հաջորդականության որևէ տեղական գործարք ձախողվի, սագան իրականացնում է փոխհատուցող գործարքների հավաքածու, որպեսզի վերացնի նախորդ հաջողությամբ ավարտված տեղական գործարքների փոփոխությունները և վերականգնի համակարգի ամբողջականությունը:
Երկու հիմնական մոտեցում կա սագաների իրականացման համար:
-
Քորեոգրաֆիա: Ծառայությունները ուղղակի փոխանակում են իրադարձություններով, առանց կենտրոնական համակարգողի վրա հույս դնելու: Յուրաքանչյուր ծառայություն լսում է մյուս ծառայությունների կողմից ստեղծված իրադարձությունները և իրականացնում իր տեղական գործարքները և/կամ հրապարակում նոր իրադարձություններ որպես պատասխան:
- Առավելություններ՝ ավելի հեշտ է իրականացնել փոքր քանակությամբ ծառայությունների համար, չկա միակ թուլության կետ:
- Թույլություններ՝ դժվար է հետևել կատարման ընթացքին և հնարավոր ցիկլային կախվածությունները, ավելի դժվար է սխալների վերացումն:
-
Օրգեստրացիա: Կենտրոնական օրգեստրատորը (սագա-օրգեստրատորը) կառավարում տեղական գործարքների կատարման հաջորդականությունը: Օրգեստրատորը ուղարկում է հրամաններ ծառայություններին, որպեսզի նրանք իրականացնեն իրենց տեղական գործարքները, և արձագանքում է ծառայություններից ստացված իրադարձություններին (հաջողություն/չհաջողություն), ընդունելով որոշումներ հաջորդ քայլի կամ փոխհատուցող գործարքների գործարկման մասին:
- Առավելություններ՝ պատասխանատվության հստակ բաժանում, հեշտ է հետևել և սխալների վերացումն, հեշտ է իրականացնել բարդ տրամաբանություն:
- Թույլություններ՝ օրգեստրատորը կարող է լինել միակ թուլության կետ, պահանջում է լրացուցիչ տրամաբանություն սագայի վիճակի կառավարման համար:
Ընտրությունը կախված է բիզնես գործընթացի բարդությունից, ներգրավված ծառայությունների թվից և կառավարման և դիտարկելիության պահանջներից: Սագան չի ապահովում ավանդական իմաստով ատոմարություն (ACID), բայց երաշխավորում է վերջնական համատեղելիություն։