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

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



           verimliliği artırır ve daha iyi bir kullanıcı deneyimi sunar. HTTP 2.0 üzerine inşa edilen gRPC, çift yönlü
           veri akışını destekler ve aynı anda birden çok isteğe yanıt verebilir. Ek olarak gRPC, REST’e benzer

           tekli iletişimi de destekler.





           2. Mesaj Formatı


           REST  API,  veri  alışverişinde  genellikle  JSON  ve  XML  formatlarını  kullanır.  gRPC  ise  Protokol
           arabelleklerini  (Protobuf)  kullanarak  serileştirilmiş  binary  formatında  mesaj  alışverişini  kullanır.
           Belirtilen bütün formatlar platform ve dilden bağımsız olmakla birlikte birbirlerine üstünlük kurdukları
           çeşitli alanlar mevcuttur. JSON ve XML formatları insanlar tarafından daha kolaylıkla okunulabilirler
           ve daha basit ve esnek yapıya sahiptir. Protokol arabellekleri ise binary formatında olması sebebiyle
           insanlar tarafından okunamazken, mesaj boyutlarının daha küçük olması sebebiyle daha az bant
           genişliğine ihtiyaç duyar ve genellikle daha hızlı bir veri alışverişine imkân tanır.






           3. Serileştirme ve Tip Kontrolü

           REST, çoğu durumda hem istemci hem de sunucu için serileştirme ve hedef programlama diline

           dönüştürme gerektiren JSON veya XML kullanır, böylece yanıt süresini ve istek/yanıtı ayrıştırırken
           hata  olasılığını  artırır.  Bununla  birlikte  gRPC,  Protobuf  değişim  formatı  kullanılarak  seçilen
           programlama diline otomatik olarak dönüştürülen kesin olarak yazılmış mesajlar sağlar.





           4. Ağ Gecikmesi


           HTTP 1.1 protokolünü kullanan REST, her istek için bir TCP el sıkışması gerektirir. REST API’lerde bu
           sebeple bazı gecikme sorunları yaşanabilir. gRPC ise veri akışlarını destekleyen HTTP 2.0 protokolüne
           dayanır. Istemciler her istek için yeni bir TCP el sıkışmasına gerek duymadan birden çok isteği iletebilir.
           Bunun yanı sıra sunucu, kurulan bağlantı aracılığıyla istemcilere anlık bildirimler gönderebilir.






           5. Tarayıcı Desteği


           REST API, HTTP 1.1 protokolünü kullanması sebebiyle tarayıcıların büyük bir çoğunluğu tarafından
           desteklenmektedir. Ancak çoğu tarayıcının HTTP 2.0 için olgunlaştırılmış desteği olmadığı için gRPC,
           REST’e göre oldukça sınırlı bir tarayıcı desteğine sahiptir. HTTP 1.1 ve HTTP 2.0 arasındaki dönüşümü
           gerçekleştirmek için gRPC-web ve proxy katmanı kullanılır. Bu sebeple gRPC genellikle dışa dönük
           servisler yerine dahili servisler arasındaki işlemler için kullanılır.
   138   139   140   141   142   143   144   145   146   147   148