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:
- 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.
- 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.