5.1. Dağıtık İşlemler
Servislere yayılan bir işlem, tek bir veritabanının ACID garantilerine güvenemez; bu yüzden atomikliği, her biri bağımsız olarak başarısız olabilen parçalardan yeniden inşa etmelisiniz. İki aşamalı commit size atomiklik verir ama koordinatör öldüğünde bloke olur; saga’lar erişilebilirlik verir ama her adım için telafi edici eylemler tasarlamanızı zorunlu kılar. Bu bölüm, bu ödünleşimi derinlemesine, ayrıca bir veritabanına yazma ve bir mesaj yayımlamayı atomik olarak yapma gibi aldatıcı derecede zor bir problemi çözen outbox desenini kapsar.
İncelenen Konular
Section titled “İncelenen Konular”- 5.1.1. ACID ve BASE: Garantiler ve Dengeler: ACID’in katı garantilerini, BASE’in erişilebilirlik öncelikli gevşetmesiyle ve her birinin ne zaman uygun olduğuyla karşılaştırır.
- 5.1.2. İki Aşamalı Commit (2PC): Bloke Edici Doğası ve Riskleri: İki aşamalı commit’i, atomiklik garantisini ve koordinatör öldüğünde oluşan bloke durumunu açıklar.
- 5.1.3. Üç Aşamalı Commit (3PC): Bloke Durumunu Azaltmak: 3PC’yi bloke durumunu azaltmaya yönelik akademik bir girişim olarak ve bir bölünmenin onu yine de nasıl yendiğini kapsar.
- 5.1.4. SAGA Deseni: Koreografi ve Orkestrasyon: Saga desenini ve çok adımlı işlemleri koordine etmek için koreografi-e-karşı-orkestrasyon seçimini açıklar.
- 5.1.5. Telafi Edici İşlemler: Bir adım başarısız olduğunda bir saga’yı geri alan anlamsal geri-alma eylemleri olan telafi edici işlemleri kapsar.
- 5.1.6. Outbox Deseni: Atomik DB Yazımı + Mesaj Yayımlama: Bir veritabanına atomik olarak yazan ve bir mesaj yayımlayan outbox desenini ve inbox karşılığını açıklar.