Saga үлгісі дегеніміз не
Оқиға реттері арқылы таратылған транзакциялар
Saga үлгісі — сәтсіздіктерде өтемақы әрекеттерімен жергілікті транзакциялар тізбегі арқылы таратылған транзакцияларды басқару үлгісі.
Мәселе
- Микросервистердің өз дерекқорлары бар
- Классикалық ACID транзакциялары мүмкін емес
- Қызметтер арасында келісімділік қажет
Saga түрлері
- Хореография — қызметтер оқиғалармен алмасады
- Оркестрация — орталық үйлестіруші басқарады
Хореография
- Қызметтер бір-бірінің оқиғаларына жазылады
- Әр қызмет нәтижесін жариялайды
- Жалғыз ақау нүктесі жоқ
- Күйді бақылау қиынырақ
Оркестрация
- Saga үйлестірушісі ағынды басқарады
- Қызметтерді ретімен шақырады
- Бақылау және жөндеу оңайырақ
- Жалғыз ақау нүктесінің қаупі
Өтемақы транзакциялары
- Аяқталған қадамдарды болдырмау
- Идемпотентті болуы керек
- Семантикалық болдырмау (rollback емес)
- Мысал: болдырмау орнына төлемді қайтару