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,