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

142 | REST API ve gRPC Mimari Stillerinin Karşılaştırılması



           için  kullanılamaz.  Bu  durum  web  uygulamalarında  direk  olarak  kullanımın  önüne  geçmektedir.
           Tarayıcıdan gRPC çağrısı yapmak için proxy kullanılması gereklidir.





           3.2. Okunabilirlik


           gRPC mesajları varsayılan olarak Protobuf ile kodlanır. Protobuf insanlar tarafından okunamayan
           binary  yapısını  kullanmaktadır.  Bu  durum  mesajların  içeriğinin  okunması  gereken  durumlarda
           dezavantaja sebep olur..





           3.3. Geliştirme Zorluğu


           REST API ile karşılaştırıldığında gRPC mimari yaklaşımı ile geliştirme yapmak daha fazla süre alır.
           Uygulaması ve öğrenmesi daha kolay olan JSON yerine Protobuf’ı kullanan gRPC daha karmaşıktır
           ve daha fazla uzmanlık gerektirir.





           REST API ve gRPC MIMARISININ


           KARŞILAŞTIRILMASI







           Bu bölümde REST API ve gRPC mimari stillerinin aşağıda belirlenmiş olan özellikler için
           karşılaştırılmıştır.






           1. HTTP Protokolü

           REST  API,  istek-yanıt  iletişim  modeli  kullanılarak  HTTP  1.1  protokolü  üzerine  kurulmuştur.  REST
           API  mimarisinde  sunucuya  birden  fazla  istek  ulaştığında,  sunucu  istekleri  birbirinden  bağımsız

           olarak tekil olarak işler. gRPC ise HTTP 2.0 protokolünün üzerine kurulmuştur. HTTP 2.0, HTTP 1.1
           protokolünün  sınırlamalarını  ve  verimsizliklerini  gidermek  ve  web  performansını  artırmak  için
           geliştirilen ikinci ana sürümdür. HTTP 2.0, çoklu işlem özelliği ile aynı bağlantı üzerinden birden fazla
           isteği aynı anda gönderme imkanı sunar. Ayrıca binary protokol kullanarak daha az veri iletişimi
           ve başlık sıkıştırmasıyla daha iyi performans sağlar. Sunucu zorlaması (server push) ile istemcinin
           istek yapmadan önce gerekli kaynakları proaktif olarak alabilmesi sağlanır. Önceliklendirme özelliği
           ile önemli kaynaklar öncelikli olarak iletilir. HTTP 2.0, geriye uyumlu olup web iletişimini hızlandırır,
   137   138   139   140   141   142   143   144   145   146   147