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

Spring Framework | 125




                                                        Spring Boot 2





                               Reaktif Yığın                                     Servlet Yığın

               Spring Webflux, çok çekirdekli, yeni nesil işlemcilerden   Spring MVC, sunucu uygulaması API’si üzerine
                  yararlanmak ve çok sayıda eşzamanlı bağlantıyı      kuruludur ve iş parçacığı başına bir istek
                  yönetmek için sıfırdan oluşturulmuş engelleyici    modeliyle senkronize engelleyici giriş/çıkış
                   olmayan(non-blocking) bir web çerçevesidir.                mimarisini kullanır.

                         Netty, Servlet Konteynerleri                         Servlet Konteynerleri

                           Reaktif Akış Adaptörü                                 Servlet API

                          Spring Güvenliği Reaktif                             Spring Güvenliği

                             Spring  WebFlux                                     Spring  MVC
                         Spring Reaktif Veri Depoları                         Spring Veri Depoları
                      Mongo, Cassandra, Redis, Couchbase, R2DBC                 JDBC, JPA, NoSQL


                                                Şekil 6. Reaktif Sistemlerle Spring

           Verilere reaktif bir şekilde erişmek ve işlemek önemlidir. MongoDB, Redis ve Cassandra’nın tümü
           Spring Data’da yerel reaktif desteğe sahiptir. Birçok ilişkisel veri tabanı (Postgres, Microsoft SQL
           Server, MySQL, H2 ve Google Spanner) R2DBC aracılığıyla reaktif desteğe sahiptir. Mesajlaşma
           dünyasında Spring Cloud Stream, RabbitMQ ve Kafka gibi platformlara reaktif erişimi de destekler.




           3. Bulut Uygulamaları (Cloud)


           Dağıtık  sistemlerin  geliştirilmesi  zor  olabilir.  Bu  zorluğun  sebebi  karmaşıklığın  uygulama
           katmanından ağ katmanına taşınması ve hizmetler arasındaki artan etkileşimdir. Bulut mimarisi
           için kodun “cloud-native” yapılması, harici yapılandırma, durumsuzluk, günlük kaydı ve destek
           hizmetleri gibi 12 faktörlü sorunlarla başa çıkmayı gerektirir. Spring Cloud proje paketi, bu ihtiyaç
           duyulan birçok hizmeti içerir (Şekil 7).


                                                     Hizmet Kaydı                              Dağıtık İzleme



                   Nesnelerin                                              Mikro Servisler
                   İnterneti



                   Tarayıcı             API Ağ Geçidi
                                                                           Mikro Servisler



                   Mobil                             Yapılandırma
                                                     Sunucusu
                                                                           Mikro Servisler

                                                  Şekil 7. Spring Bulut Mimarisi
   120   121   122   123   124   125   126   127   128   129   130