Uyumluluk: Pactmark 0.2.x.

En-az-bir-kez için tasarlayın

Kalıcı komut kayıtları

Yetki ve istek özetiyle kapsamlandırılmış idempotency.

Yalnızca-eklenen olaylar

İyimser sıralamayla; eşzamanlı eklemeler iç içe geçmek yerine çakışır.

İşlemsel uyandırmalar

Onlara neden olan olaylarla birlikte commit edilir.

Veritabanı-zamanlı kiralar

Uygulama zamanı değil. Saat kayması sahipliği uzatamaz.

Fencing token'ları

Geri dönen bir zombi daha yeni bir sahibin üzerine commit edemez.

Kötümser rezervasyonlar

Belirsiz model çağrıları maksimum ücretlerini korur.
Şekil 1. Kurtarma, taze bir süreçte kalıcı gerçekten başlar. Hiçbir şey orijinal sürece, orijinal isteğe veya orijinal makineye bağlı değildir.

Yalnızca aktif değil, park edilmiş işleri de izleyin

“3 koşu devam ediyor” gösteren ve başka bir şey göstermeyen bir panel, arkasında çözülmemiş etkiler birikirken sistemi sağlıklı bildirir.

Belirsiz etkiler

Şekil 2. Tek dürüst üç çözüm: onaylandı, kesinlikle gönderilmedi ya da belirsiz ve bundan sonra ne olacağına kayıtlı bir strateji karar veriyor. Yalnızca bir yanıt kaybolduğu için asla yeniden denemeyin. Kaybolan bir yanıt, bilmemenin ta kendisidir. Kayıtlı stratejiyi izleyin ya da ayrıca yetkilendirilmiş bir telafi koşusu başlatın.

Bir olayı yürütmek

1

Önce erişimi kontrol altına alın

Kimlik bilgilerini ve grantları iptal edin, özet kill switch’lerini etkinleştirin, gerekiyorsa worker’ları veya egress’i durdurun ve tenant sınırlarını koruyun. Bunu tanılamadan önce yapın.
2

Koşu gerçeğini yeniden yazmayın

Yalnızca-eklenen, olay sırasında da yalnızca-eklenen demektir. Olayları, komut ve etki kayıtlarını, yayın manifestlerini ve ilgili meta veri loglarını — sır değerlerini veya gizli model akıl yürütmesini kopyalamadan — koruyun.
3

Her etkiyi sınıflandırın

Onaylandı, kesinlikle gönderilmedi ya da belirsiz. Dördüncü bir kategori ve “muhtemelen sorun yok” diye bir şey yoktur.
4

Yalnızca kayıtlı strateji üzerinden çözün

Strateji güvenli olduğunu kanıtlıyorsa yeniden deneyin. Hedef destekliyorsa sorgulayarak mutabakat kurun. Aksi hâlde ayrıca yetkilendirilmiş bir telafi WorkOrder’ı başlatın. İnsan tahminleri makbuz değildir.
5

Döndürün ve yeniden kurun

Açığa çıkmış sırları döndürün, projeksiyonları yeniden kurun, gerekiyorsa korumalı depoları geri yükleyin ve artifact ile kanıt bağlarının hâlâ çözüldüğünü doğrulayın.
6

Bildirin ve kaydedin

Etkilenen sahipler, UTC zaman çizelgesi, kapsam, artık risk ve eklediğiniz takip testleri.
Kurtarmayı açıkça doğrulayın: eski özet reddediliyor, eski kimlik bilgisi kullanılamıyor, bir sonraki yüksek riskli eylem iptali yeniden denetliyor ve hiçbir kanarya değeri kalıcı veya çıktı yüzeylerinde görünmüyor. Alarmın yokluğu doğrulama değildir.

RPO ve RTO belirlemek

Bunları dağıtılmış veritabanı, artifact, anahtar ve yedek sistemlerinizden türetin — sonra kanıtlayın:
1

Bir yedeği temiz bir ortama geri yükleyin

Süresini ölçün. O sayı hedefiniz değil, RTO tabanınızdır.
2

Geri yüklenen veriden sonlanmış bir koşuyu yeniden oynatın

pactmark replay <runId>, hiçbir şey çalıştırmadan saklanan olaylar ve artifact’lardan doğrular.
3

Devam eden bir koşuyu taze bir süreçte devam ettirin

Yedek kümenizdeki eksik parçaları bulan test budur.
4

Veri boşluğunu ölçün

Son kalıcı commit ile geri yükleme noktası arasındaki mesafe gerçek RPO’nuzdur.
Yerel Postgres çökme testleri tasarım kanıtıdır. Mekanizmanın doğru olduğunu gösterirler. Yönetilen veritabanınızın failover davranışı, depolama katmanınız veya ağınız hakkında bir söz değildirler.

PostgreSQL profili

Göçler, kiralar, korumalı bağlam ve birlikte yedeklenecekler.

Olay müdahalesi senaryosu

Devredilmiş yetki ve telafi ile işlenmiş bir senaryo.