Bankacılık bulut dönüşümü için desenler ve uygulamalar

Azure Cosmos DB
Azure Event Hubs
Azure Functions
Azure Kubernetes Service (AKS)
Azure Pipelines

Bu makale, ticari yazılım mühendisi (CSE) ekibinin Azure'da Bankacılık sistemi bulut dönüşümü oluştururken kullandığı desenleri ve uygulamaları kapsar.

Mimari

Saga mimarisi

Sunucusuz Mimaride Orchestration Tabanlı Saga

Bu mimarinin bir Visio dosyasını indirin.

Veri akışı

Contoso Bank'ın düzenleme tabanlı bir destanını şirket içi uygulaması vardı. Düzenleyici, uygulamalarında sonlu bir durum makinesidir (FSM). CSE ekibi, mimari tasarımında aşağıdaki zorlukları belirledi:

  • Durum yönetimi, zaman aşımları ve hata senaryolarında yeniden başlatmalarla başa çıkabilmek için durum bilgisi olan düzenleyicide uygulama ek yükü ve karmaşıklığı.

  • İşlem isteği başına saga iş akışı durumlarını izlemeye yönelik gözlemlenebilirlik mekanizmaları.

Aşağıda önerilen çözüm, Azure'da sunucusuz mimari kullanan bir düzenleme yaklaşımı aracılığıyla bir destan deseni uygulamasıdır. Aşağıdakini kullanarak zorlukları giderir:

Daha fazla bilgi için bkz . Pattern: Saga on Microservices.io.

Saga deseni

Saga , yaygın olarak finansal hizmetlere uygulanan dağıtılmış işlem yönetimi için uygun bir desendir. İşlemlerin uygulamalar ve veritabanları arasında dağıtıldığı yeni bir senaryo ortaya çıktı. Yeni senaryoda, müşterilerin finansal işlemlerde veri tutarlılığı sağlamak için yeni bir mimari ve uygulama tasarımına ihtiyacı olacaktır.

Geleneksel bölünmezlik, tutarlılık, yalıtım ve dayanıklılık (ACID) özellikleri yaklaşımı artık uygun değildir. Bunun nedeni, işlem verilerinin yalıtılmış veritabanlarına yayılmasıdır. Bir destan deseni kullanmak, veri tutarlılığını sağlamak için ileti temelli yerel işlemler dizisi aracılığıyla bir iş akışını koordine ederek bu zorluğu giderir.

KEDA mimarisi

KEDA Kafka konu tetikleyicisi ile EFT İşlemcisi Otomatik Ölçeklendirme

Bu mimarinin bir Visio dosyasını indirin.

KEDA ölçeklendiricileri hakkında daha fazla bilgi için aşağıdaki KEDA belgelerine bakın:

  • Azure Event Hubs Tetikleyicisi: Java uygulamaları için Azure blob depolama URI'sini okumak için uyumluluk. Event Hubs'dan gelişmiş ileti kuyruğa alma protokolleri (AMQP) protokol iletilerini okuyan Java tüketicilerini ölçeklendirme olanağı sağlayan Olay İşlemcisi Ana Bilgisayar SDK'sını kullanır. Daha önce Event Hubs ölçekleyicisi yalnızca Azure İşlevleri ile çalışıyordu.

  • Apache Kafka konu tetikleyicisi: Event Hubs'tan Kafka protokol iletilerini okuyan Java tüketicilerini ölçeklendirme olanağı sağlayan SASL_SSL Düz kimlik doğrulaması desteği.

İş Akışı

  1. CSE ekibi uygulamayı Azure Kubernetes Service (AKS) kümesine dağıttı. Uygulamanın ölçeğini gelen ileti sayısına göre otomatik olarak genişletmek için gereken çözüm. CSE ekibi, çözümün uygulama dağıtımını etkinleştirmesi mi yoksa devre dışı bırakması mı gerektiğini algılamak için bir Kafka ölçeklendiricisi kullandı. Kafka ölçeklendiricisi ayrıca belirli bir olay kaynağı için özel ölçümleri de besler. Bu örnekteki olay kaynağı bir Azure olay hub'ıdır.

  2. Azure olay hub'ında ileti sayısı bir eşiği aştığında, KEDA podların ölçeğini genişleterek uygulama tarafından işlenen ileti sayısını artırır. Olay kaynağındaki ileti sayısı eşik değerinin altına düştüğünde podların otomatik ölçeği azaltılır.

  3. CSE ekibi Apache Kafka konu tetikleyicisini kullandı. Çözüme, işlem bir aralıkta tüketilen ileti sayısı üst sınırını aştığında EFT İşlemcisi hizmetini ölçeklendirme olanağı sağlar.

Java desteğiyle KEDA

Kubernetes Event-driven Autoscaler (KEDA), çözümün Kubernetes içindeki kapsayıcıları nasıl ölçeklendireceğini belirler. Karar, işlemesi gereken olay sayısına bağlıdır. Farklı ölçekleyici türlerine sahip olan KEDA, birden çok iş yükü türünü destekler, Azure İşlevleri destekler ve satıcıdan bağımsızdır. Çalışan bir örneği keşfetmek için Azure Event Hubs kullanarak KEDA ile Java uygulamalarını otomatik ölçeklendirme bölümüne gidin.

Yük testi mimarisi

JMeter ve Azure Yük Testi ile Yük Testi İşlem Hattı

Bu mimarinin bir Visio dosyasını indirin.

Çözüm, JMeter (JMX) betikleriyle Azure Yük Testi'ni kullanır. Azure Yük Testi, yüksek ölçekli yük oluşturmanızı sağlayan tam olarak yönetilen bir yük testi hizmetidir. Hizmet, nerede barındırıldığına bakılmaksızın uygulamalarınız için trafiğin simülasyonunu oluşturur ve mevcut JMeter betiklerini kullanabilir.

İş Akışı

Azure Yük Testi, Azure portalını veya Azure CLI'yi kullanarak yük testlerini el ile oluşturmanıza olanak tanır. Alternatif olarak, Azure Load Testing ile tümleştirmek için bir CI/CD işlem hattı yapılandırabilirsiniz. Bunu yaptığınızda, CI/CD iş akışınızın bir parçası olarak uygulama performansınızı ve kararlılığınızı sürekli olarak doğrulamak için bir yük testini otomatikleştirmeniz sağlanır.

  1. Yük testi oluşturup çalıştırarak Azure Yük Testi'nin nasıl çalıştığını anlayın.
  2. Yeni veya mevcut JMeter betiklerini kullanın ve yük testlerini çalıştırmak için CI/CD iş akışınızı yapılandırın.

Senaryo ayrıntıları

Bu senaryo, buluta geçerken bankacılık sektöründeki büyük resim desenlerini ve uygulamalarını daha iyi anlamanıza yardımcı olur.

Sonraki adımlar

Bileşen teknolojileri hakkında daha fazla bilgi edinin:

İlgili mimarileri keşfedin: