Sobes.tech
Middle — Middle+

Paylanmış əməliyyatların həyata keçirilməsi üçün hansı yanaşma və ya nümunə istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Paylanmış əməliyyatları həyata keçirmək üçün tez-tez Two-Phase Commit (2PC) — iki mərhələli təsdiq modeli istifadə olunur.

Modelin mahiyyəti:

  1. Hazırlıq mərhələsi (Prepare phase): əməliyyat koordinatoru bütün iştirakçılara əməliyyata hazırlaşmaq üçün sorğu göndərir. İştirakçılar əməliyyatın mümkünlüyünü yoxlayır və "hazır" və ya "rədd" cavabı verir.
  2. Təsdiqləmə mərhələsi (Commit phase): əgər bütün iştirakçılar hazırdırsa, koordinator təsdiqləmə əmri göndərir, əks halda — geri çəkilmə.

Bu yanaşma paylanmış sistemdə məlumatların ardıcıllığını təmin edir, lakin bloklama və nasazlıqlara qarşı davamlılıq problemləri yarada bilər.

Alternativlər və təkmilləşdirmələr:

  • Saga pattern — əməliyyatı lokal əməliyyatlar seriyasına bölür və kompensasiya tədbirləri ilə.
  • Üç mərhələli təsdiqləmə (3PC) — bloklamanın ehtimalını azaldır.

Sadələşdirilmiş 2PC sxeminin nümunəsi:

// Koordinator Prepare göndərir
// İştirakçılar cavab verir
// Əgər hamısı hazırdırsa, Commit göndərir
// Əks halda, Rollback

Go-da 2PC-ni həyata keçirmək üçün RPC və ya xüsusi paylanmış əməliyyat kitabxanaları istifadə oluna bilər.