Sobes.tech
Middle+

Ի՞նչ է սագան գործարքների կառավարման համատեքստում։

sobes.tech AI

Պատասխան AI-ից

Սագան մոդել է բաշխված գործարքների կառավարում microservice-ների ճարտարապետությունում: Այն ներկայացնում է տեղական գործարքների հաջորդականություն, որտեղ յուրաքանչյուր գործարք թարմացնում է տվյալները մեկ ծառայության շրջանակում:

Եթե հաջորդականության որևէ տեղական գործարք ձախողվի, սագան իրականացնում է փոխհատուցող գործարքների հավաքածու, որպեսզի վերացնի նախորդ հաջողությամբ ավարտված տեղական գործարքների փոփոխությունները և վերականգնի համակարգի ամբողջականությունը:

Երկու հիմնական մոտեցում կա սագաների իրականացման համար:

  1. Քորեոգրաֆիա: Ծառայությունները ուղղակի փոխանակում են իրադարձություններով, առանց կենտրոնական համակարգողի վրա հույս դնելու: Յուրաքանչյուր ծառայություն լսում է մյուս ծառայությունների կողմից ստեղծված իրադարձությունները և իրականացնում իր տեղական գործարքները և/կամ հրապարակում նոր իրադարձություններ որպես պատասխան:

    • Առավելություններ՝ ավելի հեշտ է իրականացնել փոքր քանակությամբ ծառայությունների համար, չկա միակ թուլության կետ:
    • Թույլություններ՝ դժվար է հետևել կատարման ընթացքին և հնարավոր ցիկլային կախվածությունները, ավելի դժվար է սխալների վերացումն:
  2. Օրգեստրացիա: Կենտրոնական օրգեստրատորը (սագա-օրգեստրատորը) կառավարում տեղական գործարքների կատարման հաջորդականությունը: Օրգեստրատորը ուղարկում է հրամաններ ծառայություններին, որպեսզի նրանք իրականացնեն իրենց տեղական գործարքները, և արձագանքում է ծառայություններից ստացված իրադարձություններին (հաջողություն/չհաջողություն), ընդունելով որոշումներ հաջորդ քայլի կամ փոխհատուցող գործարքների գործարկման մասին:

    • Առավելություններ՝ պատասխանատվության հստակ բաժանում, հեշտ է հետևել և սխալների վերացումն, հեշտ է իրականացնել բարդ տրամաբանություն:
    • Թույլություններ՝ օրգեստրատորը կարող է լինել միակ թուլության կետ, պահանջում է լրացուցիչ տրամաբանություն սագայի վիճակի կառավարման համար:

Ընտրությունը կախված է բիզնես գործընթացի բարդությունից, ներգրավված ծառայությունների թվից և կառավարման և դիտարկելիության պահանջներից: Սագան չի ապահովում ավանդական իմաստով ատոմարություն (ACID), բայց երաշխավորում է վերջնական համատեղելիություն։