SON DAKİKA

İş Dünyası

CQRS ile Ölçeklenebilir Tutarlı Müşteri Deneyimleri Sunma

JPMorganChase tarafından sunulmuştur


Chase kartı müşterilerinin dijital hizmetleri benimsemesiyle, işlemle ilgili sorgularda büyük bir artış yaşadık. Bu artış, sistem arızaları sırasında bile sorunsuz müşteri deneyimlerini sürdürebilmek için, dağıtılmış altyapı sistemlerimiz üzerinde baskı oluşturdu.

Dijital Dönüşüm Yolculuğumuz

Bu zorluklarla başa çıkmak amacıyla bir modernleşme yolculuğuna çıktık. Amacımız, izole ortamlardan, müşteri talebine göre ölçeklenebilen modern ve sürekli açık bir ekosisteme geçiş yapmaktı. Bu dönüşüm, müşterilerin hesaplarını yönetmesine, işlemler yapmasına ve finansal hizmetlere çevrimiçi ve mobil platformlarımız aracılığıyla sorunsuz bir şekilde erişmesine olanak tanıdı.

Sistem Kayıtlarının (SOR) Önemi

Sistem Kayıtları (SOR), öncelikle ana çerçeve tabanlıydı ve zamanla modern teknoloji yığınlarına evrildi. SOR’lar, komut trafiğinin güvenilirliğini sağlamak için tasarlandı. Veriler, çoğu sorgunun ana hedefi olan veri ambarlarına aktarıldı. Dijital deneyimlerle birlikte, SOR’lar verilerini API’ler aracılığıyla sorgulara açmaya başladı. Zamanla sorgu trafiği, komut trafiğini aşarak toplam SOR okuma hacminin %90’ını aşması sık rastlanan bir durum haline geldi.

Yazılım Mimarisi Devrimi

Chase, SOR’ların neden olduğu operasyonel sorunları azaltmak ve olağanüstü müşteri deneyimleri sunmak amacıyla Komut-Sorgu Sorumluluğu Ayrımı (CQRS) adlı yazılım mimarisini benimsedi. Bu, komut işlemlerini (yazma işlemleri) ve sorguları (okuma işlemleri) ayrı kısımlar olarak ayıran bir mimari modeldir.

Chase olarak, işletmeye devamlılık sağlamak için standartlar geliştirdik ve bu sayede müşteri deneyimini daha hızlı ve daha güvenilir hale getirdik. Bu standartlar arasında:

  • Günlük 20+ milyar kayıt alımı
  • Tüm kanallarda bir saniye içinde uçtan uca, gerçek zamanlı veri tutarlılığı
  • 50-100 milisaniye API yanıt süreleri
  • 25.000+ İşlem Saniyede (TPS) ölçek destekleme
  • 99.99% kullanılabilirlik
  • Tüketici özelleştirmesi olmadan ürünler arasında tutarlı mühendislik
  • Küresel düzenlemelerin gereksinimlerine göre dayanıklılık sağlamak

Hedeflerimize Ulaşma

CQRS modelinin okuma katmanı, çeşitli kullanıcı ihtiyaçlarına yönelik optimize edilmiş veri görünümünü sağlamak için önemli bir rol oynadı. Okuma işlemlerinin yazma işlemlerinden ayrılması, birden fazla kaynaktan veri toplayarak ve sunarak, farklı uygulama ve hizmetlerde veriye tutarlı ve verimli erişim sağladı.

CQRS’i benimsemek büyük bir memnuniyet kaynağıydı ve bu süreçte aşağıdaki hedeflerimizi başardık:

  • Okuma Optimizasyonu: Okuma tarafı, yüksek sorgu yüklerini verimli bir şekilde yönetmek için özel olarak optimize edildi, düşük geçiş süresi ile müşteri verilerine hızlı ve güvenilir erişim sağladı.
  • Olay Kaydetme: Modern ve dağıtık mesajlaşma sistemleri kullanarak asenkron ve gerçek zamanlı bir olay odaklı mimari geliştirdik. Bu sayede bileşenleri birbirinden ayırarak yanıt hızını artırdık.
  • Düşük Gecikmeli Veri Tabanı: İstenilen performansı elde etmek için veritabanımızı düşük gecikme süreleri ile okumalar ve yazmalar yapacak şekilde tasarladık.
  • Veri Bütünlüğü ve Güvenilirlik: Veri güvenilirliğini, istatistiksel analizler ve somut verilerle göstererek, tüketicilerin güvenini kazanmayı sağladık.
  • Ölçeklenebilirlik: Komut ve sorgu işlemlerinin ayrılması, her bir parçanın bağımsız olarak ölçeklenmesini sağladı.
  • Endişelerin Ayrılması: Programcıların her bir parçayı bağımsız optimize etmesine olanak tanıdı.
  • Performans Optimizasyonu: Komut ve sorguların farklı sorumlulukları sayesinde performans, gecikme süresi ve okuma/yazma işlemlerinde iyileştirmelere yönelik fırsatlar üzerinde çalıştık.
  • Karmaşık Alan Modelleri: Tüketici kanalları arasında tutarlılığı sağlamak için hedeflenmiş alan modelleri tasarladık.

Karşılaşılan Zorluklar

CQRS birçok avantaj sunsa da, sistem tasarımında, uygulama ve operasyonel yükte ek karmaşıklıklar da getirir. Sonuçları dikkatlice değerlendirirken, toplantılılık, asenkron iletişim ve alan odaklı tasarım (DDD) gibi ana bileşenleri göz önünde bulundurduk.

CQRS’i benimsemek, ölçeklenebilirlik ve bağımsızlık bize sağladı. Ancak bu yaklaşım, her proje veya ekip için uygun olmayabilir. Herhangi bir mimari deseninin faydalarını gerçekleştirmek için, ilkelerin anlaşılması ve ihtiyatlı bir biçimde uygulanması önemli bir rol oynamaktadır.

Düşüncenizi Paylaşın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgili Teknoloji Haberleri