Skip to main content

> kurumsal_ölçekte_strangler_fig_kalıbı

Kurumsal Ölçekte Strangler Fig Kalıbı

Kritik bir eski monolit çekirdeğin Strangler Fig kalıbıyla çok yıllı modernizasyonu, sonsuz bir çift-sistem bakım krizine girmeden nasıl yönetilir?

ÖZET VE TEKNİK CEVAP

Belirli dikey iş alanlarını yakalamak için kenar yönlendirme vekil sunucuları (proxy) kurarak, gölge trafikle (shadow traffic) doğruluğu test ederek, çift yönlü mutabakatçılarla veriyi senkronize ederek ve eski kodları kesin takvimlerle devre dışı bırakarak.

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Bir API Ağ Geçidi veya Kenar Proxy gelen istekleri yakalar. Taşınan yetenekler yeni mikroservise, kalanlar ise eski monolite yönlendirilir. Bir Yozlaşma Önleme Katmanı (ACL) iki dünya arasındaki veri modellerini çevirir. Geçiş sürecinde yazmalar yeni servise gölge olarak iletilir (dark launching) veya Değişen Veri Yakalama (CDC) ile replike edilerek canlı trafik altında veri doğruluğu kanıtlanır; ardından nihai yetki yeni servise devredilir.

2. Doğru Kullanım Senaryosu

Sıfırdan yeniden yazmanın (big-bang rewrite) telafisi imkansız riskler taşıdığı, kritik iş operasyonları yürüten devasa monolit sistemlerin güvenli tasfiyesi için uygundur.

3. Prodüksiyon Arıza Modları

1) Süresiz Araf Durumu: Göçün %60'ında durup sonsuza kadar iki paralel platformu yönetmek zorunda kalmak; 2) Çift-Yazma Tutarsızlığı: Farklı sistemlerdeki güncellemelerin sessiz veri bozulmasına yol açması; 3) Proxy Gecikme Birikmesi: Üst üste binen yönlendirme katmanlarının P99 gecikmelerini katlaması.

4. Teşhis ve Telemetri Sinyalleri

Kenar yönlendirici trafik dağılım oranlarını (taşınan vs eski yüzdesi), gölge trafik hata ayrışmalarını, veri mutabakat farklarını ve vekil sunucu sıçrama gecikmelerini izlemek.

5. Önleme ve Mimari Bariyerler

Eski kodları silmek için kesin takvimli göç aşamaları belirleyin, canlı gölge yanıtlarını karşılaştıran otomatik veri fark denetleyicileri kurun ve her varlık için her aşamada tek bir kesin gerçeklik kaynağı (SSOT) tanımlayın.

6. Mimari Ödünleşimler (Trade-offs)

Sıfır kesinti ve düşük riskli evrimsel modernizasyon sağlar; buna karşılık geçici altyapı maliyet artışı ve karmaşık veri senkronizasyonu mekanizmaları gerektirir.

Vaka İncelemesi (TinyCTO Örneği)

TinyCTO Vaka İncelemesi: Günlük 20 milyon dolar gelir üreten eski faturalandırma motorunun göçü. Envoy kenar yönlendirmesi ve Kafka CDC replikasyonu ile 30 gün boyunca ödeme bildirimleri yeni Go servisine gölgelendi. 4 milyon işlemde sıfır veri kayması doğrulandıktan sonra kesintisiz tam geçiş sağlandı.

İnteraktif Konsept Alıştırmaları

3 Alıştırma
Q1

Strangler Fig kalıbında Yozlaşma Önleme Katmanının (ACL) temel görevi nedir?

Eski veri modellerini temiz ve modern iş alanı nesnelerine çevirerek, eski sistemin tasarım kusurlarının yeni mimariyi kirletmesini engeller.
Q2

'Gölge Trafik' (Shadow Traffic) nedir ve göç riskini nasıl azaltır?

Canlı kullanıcı isteklerini arka planda yeni servise kopyalayıp yanıtlarını kullanıcıya hissettirmeden gerçek yük altında performans ve veri doğruluğunu test etmektir.
Q3

'Big Bang' (sıfırdan) yeniden yazımlar neden Strangler Fig yaklaşımına kıyasla neredeyse her zaman başarısız olur?

Big bang projeleri yılların birikimi olan belgelenmemiş iş kurallarını hareketli bir hedef altında tek seferde yeniden yazmaya çalışır; bu da kapsam patlamasına ve canlıya geçiş felaketlerine yol açar.

Kurumsal Ölçekte Strangler Fig Kalıbı — Sıkça Sorulan Sorular

Hem eski hem yeni sistem devredeyken çift yönlü veri güncellemeleri nasıl yönetilir?

Her iş alanı parçası için tek bir yetkili kaynak (System of Record) belirleyin. Döngüleri engellemek için idempotent filtreli CDC (Debezium vb.) ile güncellemeleri diğer sisteme aktarın.

Eski monolit kodları nihai olarak ne zaman silinmelidir?

Okuma ve yazma trafiğinin %100'ü yönlendirilip en az bir tam iş/raporlama döngüsü doğrulandıktan hemen sonra. Depoda asla atıl eski kod bırakılmamalıdır.

Strangler geçişi sırasında yeni servis çökerse ne yapılmalıdır?

API ağ geçidinde dinamik trafik bayrakları tutarak milisaniyeler içinde tüm trafiği anında eski monolite geri yönlendirin (instant rollback).

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Strangler Fig kalıbı, bir ağacın tepesinde köklenip aşağı doğru sarılarak zamanla konak ağacı çürüten Avustralya sarmaşıklarından esinlenmiştir.
  • Uygulama iş mantığını modül modül ayırmadan önce asla tüm veritabanı şemasını tek seferde taşımaya kalkışmayın.

Yaygın Yanılgılar

  • Strangler Fig'in mutlaka mikroservis gerektirdiğini düşünmek; bu kalıp eski bir monolitten modern bir modüler monolite veya yeni nesil framework'e geçişte de kullanılır.

Karar Kılavuzu & Önceliklendirme

Eski sisteminizi yatay katmanlar halinde (önce tüm tablolar, sonra tüm API'ler) değil, mutlaka dikey dilimler halinde (tek bir özelliğin UI, mantık ve veri katmanı) taşıyın.

Doğrulanmış Kaynaklar & Referanslar