Bu mimari, modern Kubernetes iş yükleri ve eski COBOL ana çerçeveleri arasındaki zamansal farklılıkları uzlaştırmak için hız ve toplu katmanları birleştiren bir Lambda modelini gerektirir. Tüm akışları kritiklik katmanlarına göre bölümlendiren birleştirilmiş bir alım omurgası olarak Apache Kafka hizmet eder, Katmanlı Depolama etkinleştirilmiş olarak maliyet etkin saklama için. Apache Flink, katı gecikme bütçeleri içinde dağıtılmış izler boyunca desenleri tespit etmek için Zaman Pencereli toplama ve CEP (Karmaşık Olay İşleme) kütüphanelerini kullanarak sıcak yol işleme güçlendirir.
Hiyerarşik toplama ağacı, milisaniye seviyesinde kardinalite azaltma sağlamak için L1 önbellekleri olarak Redis kümelerini kullanır ve tarihsel eğilim analizi için Apache Druid'e besler. Neden-sonuç çıkarımı, hizmet ağı telemetrisinden (Istio metrikleri) dinamik olarak oluşturulmuş Bayesian Ağları aracılığıyla çalışır ve Kavşak Ağları Algoritmaları yolu ile olasılık temelinde kök nedenin yerini tespit eder. Tüm durum geçişleri, SOC 2 Tip II denetim gereksinimlerini karşılamak için Immutable S3 bucket'larında ve WORM (Bir Kez Yaz, Çokça Oku) politikaları ile korunur.
12 zaman dilimi üzerinde faaliyet gösteren çok uluslu bir bankacılık konsorsiyumu, SWIFT ödeme geçidi arızalandığında felakete yol açan kaskad arızaları yaşadı ve bu, IBM z/OS ana çerçevelerinde sessiz hatalara neden olurken AWS mikro hizmetlerini yeniden deneme fırtınalarıyla aşırı yüklemişti. Mevcut izleme yığını, miras sistemler için Nagios ve bulut altyapısı için Datadog'dan oluşuyordu ve bu da EBCDIC hata kodlarının HTTP 503 yanıtlarıyla korelasyonunu engelleyen gözlemlenebilirlik silo'ları oluşturuyordu. Düzenleyici gereklilikler, olay zaman çizelgelerinin tamamının 4 saat içinde adli olarak yeniden oluşturulmasını gerektiriyordu, ancak ekip, NTP-senkronize olmamış saatler arasında belirleyici olay sıralaması eksikliğinden kaynaklanan 6 saatlik bir kesinti yaşadı ve bu 2 milyon dolarlık başarısız işlem cezalarına neden oldu.
Bu yaklaşım, tüm telemetriyi tek bir Elasticsearch kümesine yönlendirmeyi önerdi ve ana çerçeve LPAR'larında özel Beats ajanları aracılığıyla dağıtıldı. Logstash filtreleri, EBCDIC'i UTF-8'e normalleştirirken olayları GeoIP meta verileri ile zenginleştirirdi. Kibana panoları birleşik bir görselleştirme sağlardı.
Artılar: Operasyon ekipleri, ELK yığınının derin bir bilgiye sahipti ve eğitim yükünü azalttı. Tek cam görselleştirme, araç değiştirmeyi ortadan kaldırdı. Elastic'in yerleşik Makine Öğrenimi modülleri, kutudan çıkmış anomali tespiti sundu.
Eksiler: Yüksek kardinalite Kubernetes etiketlerinden kaynaklanan yazma genişlemesi, trafik zirveleri sırasında JVM yığın tükenmesine neden oldu ve 100ms SLA'yı ihlal etti. Elasticsearch'ün nihai tutarlılık modeli, denetim izleri için belirleyici sıralama garantisi veremedi. Bölge içi çoğaltma gecikmesi 30 saniyeyi aştı, bu da bunu gerçek zamanlı kaskad tespiti için uygun hale getirmedi.
Bu hibrit tasarım, Kafka'yı değişmez gerçek kaynağı olarak kullandı ve Katmanlı Depolama, soğuk verileri S3'e taşırken sıcak bölümleri SSD üzerinde tutmuştur. Flink CEP operatörleri, Apache Druid'e tarihsel analiz için kalıcı hale getirmeden önce pencereli toplama için milisaniye hızında Redis Akışları kullanarak akışları paralel olarak işledi.
Artılar: Flink'in kontrol noktaları, finansal denetim izleri için kritik olan kesin bir yazma semantiği sağladı. Kafka'nın günlük sıkıştırması, saklama maliyeti olmaksızın sonsuz saklama sağladı. Hız katmanı (Redis) ve toplu katman (Druid) arasındaki ayrım, gecikme hassas vs. analitik iş yüklerinin bağımsız ölçeklenmesini sağladı.
Eksiler: Operasyonel karmaşıklık, Flink TaskManagers ve Redis küme yeniden paylaştırması için uzmanlık gerektiriyordu. Streaming ve toplu işleme için ikili kod yolları bakım yükünü artırıyordu. Olasılık temelli çıkarım için özel GPU düğümlerine (NVIDIA T4) ihtiyaç duyan Bayesian Ağ eğitimi, altyapı maliyetini artırdı.
Ekip, Çözüm A'nın yazma verimliliğini 50K olay/saniye üzerinde sürdüremeyeceğini TPC-DS benchmarking'leri yoluyla kanıtladıktan sonra Çözüm B'yi seçti. Flink + Kafka mimarisi, hibrit altyapı boyunca Happened-Before ilişkilerini sürdürme kabiliyeti için özel olarak seçildi. Ana çerçeve z14 saatleri ve bulut EC2 örnekleri arasındaki NTP kaymasını köprülemek için Hibrit Mantıksal Saatler (HLC) uygulandı ve bu, atom saat senkronizasyonu gerektirmeden nedensel tutarlılığı sağladı.
Yeni mimari, kritik yol anomalleri için 47ms P99 algılama gecikmesine ulaştı ve bu, önceki 45 dakikalık ortalamadan %99.8 oranında bir azalma sağladı. Otomatik Bayesian kök neden analizi, sonraki olay sırasında yaklaşık 3.2 saniyede arıza kaynağı olarak SWIFT geçidini doğru şekilde belirledi ve müşteri etkilenmeden önce Devre Kırıcı izolasyonunu tetikledi. Denetim uyumluluk süresi, düzenleyicileri tatmin edecek ve 2M dolarlık potansiyel ceza ödemekten kaçınmayı sağlayan S3 Nesne Kilidi değişmez günlükleri ile 23 dakikaya düştü. Sistem artık hibrit ortamlarda saniyede 2M olay işliyor ve %99.99 kullanılabilirlik sağlıyor.
Birçok aday yanlış bir şekilde sadece NTP senkronizasyonuna ya da basit zaman damgalarına güvenmeyi öneriyor. Doğru yaklaşım, sıkı saat senkronizasyonu olmadan Happened-Before ilişkilerini yakalamak için fiziksel zaman damgalarını monotonik mantıksal sayaçlarla birleştiren Hibrit Mantıksal Saatler (HLC) uygulamaktır. Belirli hata düzeltimi için Cristian'ın Algoritması veya Berkeley algoritmalarını uygulayın (genellikle kaymayı 10ms altında tutar). Hizmetler arası nedensellik için, olur-önce ilişkisini açık bir şekilde izleyen Vektör Saatleri'ni koruyarak sistemin eşzamanlı olayları tespit etmesini ve adli analiz sırasında bunları belirleyici bir şekilde sıralamasına olanak tanıyın. Kafka'nın LogAppendTime'ını yetkili zaman damgası kaynağı olarak kullanın ve kaynağın kaymaları olan üretici zaman damgalarını görmezden gelin.
Adaylar genellikle gecikme gereksinimlerini göstererek depolama için AP (Kullanılabilirlik + Bölüm tolere edebilirlik) standardına geçiş yaparlar. Ancak, katı denetim izleri gerektiren finansal anomali tespiti için CP (Tutarlılık + Bölüm tolere edebilirlik) seçmelisiniz ve durum deposu için Raft mutabakatını kullanmalısınız. Redis RedLock veya etcd, iki bölgenin aynı anda çelişkili düzeltme eylemlerini tetiklediği anlık beyin senaryolarını önlemek için gerekli olan çizgisel tutarlılığı sağlar. Ağ bölünmeleri sırasında, hatalı aggregat durumlarının sahtekarlık desenlerini maskelememesi için kullanılabilirliği (hata döndürmek) feda edin. Redis önbellek katmanı için okuyucuların yazılan yazmayı okumasını sağlamak için Çoğunluk okumaları (W+R > N) uygulayın.
Çoğu aday basit üstel geri plandan bahsetmektedir ancak koordine edilmiş önbellek ısıtmanın nüanslarını atlamaktadır. Çözüm, her önbellek girişinin gerçek TTL'sinden önce olasılık temelli olarak sona erdiği Redis'te Olasılık Temelli Erken Süre Dolması gerektirir ve yenileme kalıplarını zamanla yayar. Eşit olmayan geri planda, senkronize edilmiş yeniden deneme fırtınalarını önlemek için üstel geri planda Jitter uygulaması yapın ve Dekorelasyonlu Jitter kullanın (basit üstel değil). Aşağı çökme durumunda (**) Hystrix veya Resilience4j kullanarak önbellek kaçırmalarının etrafında devre kesici uygulan. Son olarak, Yazma-Birlikte desenleri ile Öncelikle Ön Bellek yöntemini kullanarak, sıcak yolun asla önbellek geçersiz kılma olayları üzerinde durdurulmamasını ve model güncellemeleri sırasında bile 100ms altındaki gecikme garantisini sürdürecektir.