Bosh sahifa Wiki Saga pattern

Saga pattern

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