Page 189 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 189
Mikroservis Mimarisi: İletişim | 189
• Programlama Karmaşıklığını Azaltma: Eş zamanlı etkileşim, servisler arası iş akışlarını
basitleştirir. Bir servisin talep sonrası ne zaman ve nasıl yanıt alacağını bilmek, işlemleri
yönetilebilir hale getirmektedir. Bu durum, telefon görüşmesindeki gibi sıralı konuşma ve
yanıtları takip etmeye benzer. Böylelikle işlemleri anlaşılır hale getirmektedir.
• Güvenilir Hata Raporlama: Eş zamanlı iletişim, servis hatalarının hızla tespit edilip çözülmesini
sağlar, bu da kullanıcılara hızlı geri bildirim verilmesine olanak tanır. Telefon görüşmelerindeki
gibi sorunlar hemen anlaşılır ve çözüm için hızlı adımlar atılır.
• Veri Tutarlılığı: Verinin hızla güncellenip tüm servislerce görülmesini sağlar. Bu durum,
telefon görüşmesindeki yanıtlar gibi anlık ve tutarlı veri sağlar. Örneğin, havayolu şirketiyle
yapılan görüşmede alınan uçak bileti fiyatının güncel ve doğru bir bilgi olması gibidir.
Ne Zaman Eş Zamanlı Iletişimi Tercih Etmeliyiz?
Mikroservis mimarisi içerisinde iletişim yönteminin eş zamanlı olup olmadığı, özel ihtiyaçlara ve iş
gereksinimlerine bağlıdır. Bu ihtiyaçlar nelerdir, hangi durumlarda eş zamanlı iletişim tercih edilir
ve bu yaklaşım bize ne gibi avantajlar sağlar? aşağıdaki maddelerde ele alınmıştır;
• Hızlı Geri Bildirim: Eğer kullanıcının veya bir başka servisin, işlemin başarılı olup olmadığını
hemen öğrenmesi gerekiyorsa,
• Sıralı Işlemler: Bir işlem diğerini tetikliyorsa ve her birinin başarıyla tamamlanması bir sonraki
için önemliyse,
• Veri Tutarlılığı: Çok sayıda servisin birbiriyle veri paylaştığı senaryolarda, tutarlı ve güncel
veriye ihtiyaç duyuluyorsa tercih edilir.
• Hata Yönetimi: Bir işlem sırasında bir hata oluştuysa, bu hatanın hemen tespit edilmesi ve
gerekli düzeltmelerin yapılmasını sağlar.
• Düşük Gecikme Süresi: Gecikme süresi, bir işlemin başlatılması ve tamamlanması arasında
geçen zamanı ifade eder.
Mikroservis Mimarisinde Eş Zamanlı Iletişim için
Kullanılan Yaklaşımlar: REST, GraphQL ve gRPC
Mikroservis mimarisi, küçük, bağımsız ve belirli işlevleri yerine getiren servislerden oluşur. Bu
servislerin gerçek gücü, birbirleriyle ve dış dünya ile olan etkileşimlerinde yatmaktadır. Eş zamanlı
iletişim, bu etkileşimi mümkün kılan ve mikroservis mimarisinin temelini oluşturan bir unsurdur.
Bu yazıda, eş zamanlı iletişim için yaygın olarak kullanılan üç ana yaklaşımı inceleyeceğiz: REST
(Representational State Transfer), GraphQL ve gRPC (gRPC Remote Procedure Calls) olmak üzere
bu üç yaklaşımın her birinin avantajları ve dezavantajlarına üzerinde duracağız.