İçeriğe atla

Tekrar Güvenliği ve Tutarlılık

Ders 5 / 10 · 16 dakika okuma · İleri

Ağ gecikmesi veya zaman aşımında gönderici bir isteği tekrar deneyebilir. İlk istek aslında işlendiği halde ikinci istek yeni sipariş veya fatura kaydı yaratırsa çoğaltma sorunu oluşur. İdempotent işlem tasarımı aynı mantıksal isteğin güven

Bu Derste Öğrenecekleriniz

  • tekrar güvenliği ve tutarlılık konusundaki temel karar ve kontrol noktalarını açıklayabilmek
  • tekrar güvenliği ve tutarlılık için uygun bir uygulama veya kontrol adımı tasarlayabilmek

Tekrar Güvenliği ve Tutarlılık

Ağ gecikmesi veya zaman aşımında gönderici bir isteği tekrar deneyebilir. İlk istek aslında işlendiği halde ikinci istek yeni sipariş veya fatura kaydı yaratırsa çoğaltma sorunu oluşur. İdempotent işlem tasarımı aynı mantıksal isteğin güvenli biçimde tekrar edilmesini sağlar.

Harici işlem anahtarı veya idempotency key kullanılır; işlenen isteğin sonucu ve kimliği saklanır. Mesaj sıralaması önemliyse zaman damgası veya sürüm kontrolü uygulanır. Dağıtık süreçlerde her adımın tek transaction içinde tamamlanacağını varsaymak yerine durum ve telafi adımları tanımlanır.

Konu İlişkilerini Kurmak

Tekrar Güvenliği ve Tutarlılık tek bir ekran veya belgeyle sınırlı değildir; kaynak sistem sahipliği, kimlik eşleştirme, API/olay/toplu aktarım seçimi, tekrar güvenliği, uzlaştırma ve operasyon takibini birlikte tasarlamak. Bu nedenle veri bir noktada doğru olsa da sonraki aşamada kaybolabilir veya farklı kuralla yorumlanabilir. Süreç tasarımında her kararın hangi kayda dayandığını, hangi koşulda duracağını ve hangi sonucun başarı sayılacağını açıkça belirleyin.

Uygulanabilir Kontrol Akışı

  • Kapsamı belirleyin: Tekrar Güvenliği ve Tutarlılık işleminde hangi müşteri, ürün, teklif, sipariş veya belge kaydının etkilendiğini yazın.
  • Kaynağı doğrulayın: ana veri sistemi, API günlükleri, olay kuyruğu, toplu dosya kayıtları, hata kuyruğu ve uzlaştırma raporu içinde kullanılan kaydın kimliğini ve son güncelleme zamanını kontrol edin.
  • Karar kuralını görünür yapın: mesajın gönderilmesi kadar işlenme sonucunu da izlemek; tekrarları güvenli yönetmek ve kaynak-hedef verisini uzlaştırmak.
  • İstisna yolunu tanımlayın: koşul karşılanmıyorsa kimin inceleyeceğini, işlemin nerede bekleyeceğini ve hangi kanıtın isteneceğini belirtin.
  • Sonucu ölçün: entegrasyon başarı oranı, veri gecikmesi, tekrar/çift kayıt sayısı, hata kapatma süresi ve uzlaştırma farkı değerini aynı kapsam ve dönem üzerinden karşılaştırın; düzeltme sahibini ve kontrol tarihini kaydedin.

Tekrar Güvenliği ve Tutarlılık için karar verirken önce iş hedefini ve kabul koşulunu belirleyin; sonra iş kimliği, sürüm, zaman damgası, işlem durumu, tekrar anahtarı, hata kodu ve yeniden işleme sonucu alanlarının doğru kayıttan geldiğini doğrulayın. mesajın gönderilmesi kadar işlenme sonucunu da izlemek; tekrarları güvenli yönetmek ve kaynak-hedef verisini uzlaştırmak. Bu kontrol, işlemi hızlandırırken sonradan düzeltme, yanlış taahhüt ve ekipler arası yorum farkı oluşmasını önler.

Örnek — İşletme senaryosu

Mağaza sipariş oluşturma isteği zaman aşımına uğrar. Yeniden deneme aynı sipariş anahtarını kullanırsa sistem ikinci bir sipariş açmak yerine ilk işlemin sonucunu döndürür.

Alternatif Senaryo ve Karar

Örnek

Karar senaryosu: Ürün fiyatı kaynak sistemde değişiyor ancak hedef sistemde eski sürüm kalıyor ve fiyat tutarsızlığı oluşuyor. Bu durumda doğru yaklaşım ilk kaydı olduğu gibi kabul etmek değil; iş kimliği, sürüm, zaman damgası, işlem durumu, tekrar anahtarı, hata kodu ve yeniden işleme sonucu alanlarını, iş kuralını ve işlem sahibini çapraz kontrol etmektir. Örneğin sonuç ile kaynak kayıt uyuşmuyorsa işlem tamamlandı kabul edilmemeli; uyuşmazlığın hangi adımda oluştuğu kaydedilmeli ve tekrar test edilmelidir.

Alternatifleri karşılaştırırken kısa vadeli işlem kolaylığı ile sonraki aşamalardaki maliyeti birlikte değerlendirin. Başarılı teknik yanıtı iş sürecinin tamamlandığı şeklinde yorumlamak veya sessiz veri kaybını fark etmemek. Kontrol adımını atlamanın sağlayacağı süre kazancı; hatalı kayıt, iade, itiraz, yeniden işleme veya müşteri güveni kaybı ile karşılaştırılmalıdır.

Alternatif durumda Ürün fiyatı kaynak sistemde değişiyor ancak hedef sistemde eski sürüm kalıyor ve fiyat tutarsızlığı oluşuyor. Bu örnekte ekip ilk görünen duruma göre karar vermek yerine ana veri sistemi, API günlükleri, olay kuyruğu, toplu dosya kayıtları, hata kuyruğu ve uzlaştırma raporu kayıtlarını karşılaştırmalı; eksik veri, yetki ve zamanlama farklarını ayrı ayrı işaretlemelidir. Koşullar doğrulanamıyorsa işlem durumu açıkça belirtilmeli ve sorumluya atanmalıdır.

Şimdi Uygulayın

Uygulama çalışması

Sipariş, ödeme sonucu ve stok hareketi için tekrar deneme senaryosu çizin; yinelenen kayıt riskini hangi anahtarın önleyeceğini belirleyin.

Kanıt, Ölçüm ve Sahiplik

Kontrol noktasıKontrol sorusuKanıt / kayıt
Kaynak veriKararda kullanılan kayıt güncel ve doğru kimliğe bağlı mı?ana veri sistemi, API günlükleri, olay kuyruğu, toplu dosya kayıtları, hata kuyruğu ve uzlaştırma raporu
İş kuralıKoşul ve istisna açık biçimde tanımlanmış mı?mesajın gönderilmesi kadar işlenme sonucunu da izlemek; tekrarları güvenli yönetmek ve kaynak-hedef verisini uzlaştırmak
SorumlulukSorun oluştuğunda incelemeyi kim üstleniyor?İşlem sahibi, onaylayan ve hedef tarih
İş sonucuUygulama beklenen ticari/operasyonel etkiyi verdi mi?entegrasyon başarı oranı, veri gecikmesi, tekrar/çift kayıt sayısı, hata kapatma süresi ve uzlaştırma farkı

Tekrar Güvenliği ve Tutarlılık uygulamasının denetlenebilir çıktısı en az dört unsuru içermelidir: kullanılan kaynak kayıt, karar kuralı, sorumlu kişi ve sonuç kanıtı. iş kimliği, sürüm, zaman damgası, işlem durumu, tekrar anahtarı, hata kodu ve yeniden işleme sonucu alanlarından hangilerinin karar üzerinde etkili olduğu da yazılmalıdır. Bu kayıt, sonraki benzer işlemde aynı kontrolün tekrarlanmasını sağlar.

Uyarı — Kontrol noktası

Sadece HTTP hata koduna bakarak otomatik tekrar yapmak, bazı işlemlerde çifte kayıt veya çifte işlem yaratabilir.

Kontrol ve iyileştirme için entegrasyon başarı oranı, veri gecikmesi, tekrar/çift kayıt sayısı, hata kapatma süresi ve uzlaştırma farkı göstergelerini başlangıç seviyesiyle karşılaştırın. Fark çıktığında önce veri tanımının değişip değişmediğini, ardından süreç kaynaklı nedeni inceleyin. Düzeltme için sahip, hedef tarih ve tekrar ölçüm koşulu atayın; yalnızca faaliyetin tamamlanmasını başarı saymayın.

Bu Derste Ne Öğrendik?

  • Bu derste tekrar güvenliği ve tutarlılık konusunun temel iş mantığını, karar ölçütlerini, gerçekçi bir iş senaryosunu ve uygulamada kontrol edilmesi gereken riski ele aldınız.
  • Bir sonraki adım, bu yaklaşımı kendi ürün, müşteri ve süreç verilerinizle sınamaktır.

Öğrendiklerinizi Projenize Dönüştürün

Pazaryeri, online mağaza veya kurumsal dijital ticaret projeniz için KMK'nın deneyimli ekibiyle ihtiyaçlarınızı değerlendirin.