Page 126 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 126

126 | Spring Framework



           Bulutta, uygulamalar diğer hizmetlerin tam yerini her zaman bilemez. Bunun için Netflix Eureka
           gibi  bir  hizmet  kaydı  veya  HashiCorp  Consul  gibi  bir  sepet  çözümü  yardımcı  olabilir.  Spring

           Cloud, Eureka, Consul, Zookeeper ve hatta Kubernetes’in yerleşik sistemi gibi popüler kayıtlar
           için  DiscoveryClient  uygulamaları  sağlar.  Yükün  hizmet  örnekleri  arasında  dikkatli  bir  şekilde
           dağılmasına yardımcı olacak bir Spring Cloud Yük Dengeleyici de vardır.

           Sistemde çok sayıda istemci ve sunucu varken, bulut mimarinize bir API ağ geçidi eklemek genellikle
           yardımcı olur. Bir ağ geçidi, mesajların güvenliğini ve yönlendirilmesini, hizmetleri gizleme, yükü
           azaltma ve diğer birçok yararlı şeyi halledebilir. Spring Cloud Gateway, yapılandırma ve bakımı
           basitleştirmek  için  Spring  Cloud  hizmet  keşfini  ve  istemci  tarafı  yük  dengeleme  çözümlerini
           entegre ederek API katmanı üzerinde hassas bir kontrol sağlar.

           Bulutta,  yapılandırma  basitçe  uygulamanın  içine  yerleştirilemez.  Yapılandırma,  birden  çok
           uygulama, ortam ve hizmet örneğiyle başa çıkacak kadar esnek olmalı ve kesinti olmadan dinamik
           değişikliklerle başa çıkabilmelidir. Spring Cloud Config, bu yükleri hafifletmek için tasarlanmıştır
           ve  yapılandırmayı  güvende  tutmaya  yardımcı  olmak  için  Git  gibi  sürüm  kontrol  sistemleri  ile
           entegrasyon sunar.

           Dağıtık  sistemler  güvenilir  olmayabilir.  Istekler  zaman  aşımları  ile  karşılaşabilir  veya  tamamen
           başarısız olabilir. Bir devre kesici bu sorunları azaltmaya yardımcı olabilir ve Spring Cloud Devre

           Kesici bu konuda üç popüler seçenek sunar: Resilience4J, Sentinel veya Hystrix.
           Dağıtılmış  uygulamalarda  hata  ayıklama  karmaşık  olabilir  ve  uzun  zaman  alabilir.  Herhangi  bir
           arıza için, birkaç bağımsız hizmetten gelen bilgi izlerini bir araya getirmeniz gerekebilir. Spring

           Cloud Sleuth, uygulamaları öngörülebilir ve tekrarlanabilir bir şekilde kullanabilir. Ayrıca, Zipkin ile
           birlikte kullanıldığında, ortaya çıkabilecek gecikme sorunlarına odaklanabilmeye kolaylık sağlar.

           Bulutta,  ekstra  avantajlar  sağlamak  için  güvenilir,  doğru,  kararlı  API’lere  sahip  olmak  gerekir.
           Sözleşmeye  bağlı  (Contract  based)  test,  yüksek  performanslı  ekiplerin  yolda  kalmak  için
           sıklıkla kullandığı bir tekniktir. Kodun kontrol altında kalmasını sağlamak için API’lerin içeriğini
           resmileştirerek ve etraflarında testler oluşturarak yardımcı olur. Spring Cloud Contract, Groovy,
           Java  veya  Kotlin’de  yazılmış  sözleşmelerle  REST  ve  mesajlaşma  tabanlı  API’ler  için  sözleşme
           tabanlı test desteği sağlar.




           4 .Web Uygulamaları (Web Applications)

           Spring, web uygulama geliştirme sürecini hızlı ve sorunsuz hale getirir. Ortak kod ve yapılandırma
           zorluklarını ortadan kaldırarak sunucu tarafı HTML uygulamaları, REST API’leri ve çift yönlü, olay tabanlı
           sistemler gibi modern web programlama modellerinin geliştirilmesini kolaylaştırır.

           Spring Boot, geliştirme sürecinin başlangıç noktasıdır. Minimum ön yapılandırmayla, hızlı bir şekilde
           çalışmaya başlamayı amaçlar. Gömülü uygulama sunucuları sayesinde, saniyeler içinde hizmet vermeye
           başlayabilir. Ayrıca; izleme, ölçümler ve sağlık durumu gibi gelişmiş özellikleri sunarak, derinlemesine
           bilgi edinilmesini sağlar. Spring ayrıca; Java, Kotlin ve Groovy gibi birden çok JVM dilini destekler.
   121   122   123   124   125   126   127   128   129   130   131