Saga pattern — bir nechta mustaqil xizmatdagi biznes operatsiyasini local tranzaksiyalar va compensating amallar ketma-ketligi sifatida boshqaradigan taqsimlangan tizim naqshidir.
Koordinatsiya
Choreography xizmatlar eventini kuzatadi, orchestration esa markaziy coordinator orqali command va natijalarni boshqaradi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Compensation
Bekor qilish database rollback emas; refund, reserve release yoki qarama-qarshi biznes hodisasi alohida va idempotent bajariladi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Izchillik
Saga eventual consistency beradi, shu sababli foydalanuvchiga oraliq holat ko‘rsatiladi va qat’iy invariant local tranzaksiya ichida saqlanadi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Ishonchlilik
Saga ID, outbox, inbox, deadline va retry qadamlarni takror yetkazish hamda jarayon qulashidan himoya qiladi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Holat nazorati
State machine kechikkan javobning yangi holatni buzishiga yo‘l qo‘ymaydi va faqat ruxsat etilgan transitionni qabul qiladi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Kuzatuv
Tracing qadamlarni bog‘laydi, stuck saga va compensation xatolari alert qilinadi, operator uchun audit qilinadigan recovery amali beriladi. Saga pattern uchun bu jihat faqat nazariy qoida emas: u API, saqlash qatlami va operatsion jarayonda bir xil talqin qilinishi kerak. Noto‘g‘ri yoki yashirin taxminlar integratsiya, xavfsizlik va tiklanish paytida xato keltiradi. Shu sababli qoida hujjatlashtiriladi, avtomatik test bilan tekshiriladi va kuzatuv ma’lumoti orqali production xulqi bilan solishtiriladi.
Amaliy boshqaruv
Saga pattern joriy etilganda egasi, versiyasi va xato holati belgilanadi. Normal yo‘l bilan birga timeout, duplicate, noto‘g‘ri ruxsat va qisman nosozlik sinovdan o‘tadi. Metrikalar faqat muvaffaqiyat sonini emas, kechikish, rad etish va recovery natijasini ham ko‘rsatadi. O‘zgarish canary yoki kichik doirada tekshirilib, keyin kengaytiriladi. Maxfiy ma’lumot log va diagnostikaga zarur bo‘lmagan holda kiritilmaydi.
Bog‘liq tushunchalar
Distributed transaction, Compensation, Eventual consistency, Orchestration, Outbox pattern, Inbox pattern, State machine