Uygulama kılavuzu · İşletim

Asenkron işlemeye geçiş

Yan etkileri kritik yanıt yolundan ayırmak — dayanıklı, izlenebilir ve mükerrer işlemleri önleyen (idempotent) biçimde.

Bu nedir? · Uygulama kılavuzu

Sürekli karşılaşılan bir problem için standart bir süreç — durum, adımlar, karar kriterleri ve validasyon. Neden uyguladığımız değil, nasıl uyguladığımız. Genel bakışa git

Durum

Bu kılavuz ne zaman geçerli?

İşlemler yavaş veya güvenilmez yan etkiler tetikler: bildirimler, dışa aktarımlar, üçüncü taraf sistem çağrıları. Senkron tutulduklarında yanıt süresini ve başarıyı dahil olan en yavaş sisteme bağlarlar.

Hedefler

  • Yanıt süresi yavaş yan etkilerden ayrışmıştır.
  • Yan etkiler hatalara ve yeniden denemelere karşı dayanıklıdır.
  • İşletim izlenebilir kalır.

Tipik riskler

  • At-least-once teslimat nedeniyle mükerrer etkiler.
  • Yeniden deneme veya teslimat kanıtı olmadan kaybolan job'lar (fire-and-forget).
  • Canlı ortamda görünmeyen kuyruklar ve worker'lar.
  • Kullanıcı arayüzünün dikkate almadığı eventual consistency.
Hazırlık

Geliş­tir­meye baş­la­ma­dan önce.

  • Kritik yanıt yolunu, dışarı alınabilecek yan etkilerden ayırmak.
  • Teslimat semantiğini ve idempotency stratejisini belirlemek.
  • Kuyruk, worker'lar ve başarısız job'lar için izlemeyi planlamak.
Mühendislik yaklaşımı

Nasıl iler­li­yo­ruz?

01

Yalnızca kritik yolun dışında

Yanıt için kritik olan her şey senkron kalır. Kuyruğa yalnızca ayrıştırılabilen yan etkiler taşınır.

02

Idempotency zorunludur

Her job mükerrer işlemleri önleyen (idempotent)tir: Bir idempotency anahtarı, etkiyle aynı transaction içinde kontrol edilir ve kalıcı hâle getirilir. Böylece at-least-once teslimat mükerrer etkiler üretmez.

03

Baştan itibaren görünürlük

İş hacmi, çalışma süreleri ve başarısız job'lar görünürdür. Yeniden denemeler ve dead-letter yönetimi açıkça tanımlanmıştır.

04

Eventual consistency'yi bilinçli ele almak

Kullanıcı arayüzü, anında tutarlılık varmış gibi davranmak yerine bir etkinin işlenmekte olduğunu bildirir (örneğin 202 Accepted ile).

Karar noktaları

Yanıt bekleyen sorular.

  • İşlem gerçekten kritik yanıt yolunun dışında mı?

  • Job mükerrer işlemleri önleyen (idempotent) mi?

  • Yeniden deneme ve hata yolları tanımlı mı?

  • Kullanıcı arayüzü eventual consistency'yi dikkate alıyor mu?

Doğrulama

  • Mükerrer teslimatın mükerrer bir etki üretmediği kanıtlanmıştır.
  • Başarısız job'lar görünürdür ve yeniden çalıştırılabilir.
  • Kritik yolun gecikmesi ayrıştırılmış ve ölçülmüştür.

Sık yapılan hatalar

  • Kritik mantığı asenkron yapıp tutarlılığı kaybetmek.
  • Yeniden deneme ve teslimat kanıtı olmadan fire-and-forget.
  • Idempotency'yi unutmak — mükerrer kayıtlar, mükerrer e-postalar.
  • Kuyrukları ve worker'ları izleme olmadan işletmek.
Karşı sınama

Ne zaman bilinçli olarak farklı iler­li­yo­ruz?

  • Bir işlem küçük, hızlı ve yanıt için kritikse senkron kalır — asenkronluk gereksiz bir karmaşıklık olurdu.
  • Çok basit ve seyrek görevler için zamanlanmış bir batch işi, kuyruktan daha ekonomik olabilir.
Bilgi grafiği

Mühen­dis­lik yol­cu­lu­ğu­nuza devam edin.

Bağlantılı kavramlar, stratejik kararlar, rehberler ve yaklaşımlar — bir link yığını olarak değil, tutarlı bir akış halinde.

Benzer bir zorlukla mı karşı kar­şı­ya­sı­nız?

Uygulama kılavuzları nasıl düşündüğümüzü gösterir. Somut projeniz için yönetimimizle görüşün: teknik düzeyde, satış konuşması olmadan.