Mikroservis Mimarileri

Asiye Nur Kelle
2 min readFeb 28, 2022

Selamlar, bu yazımda günümüzde büyük ölçekli yazılımlarda çokça tercih edilen mikroservis mimarisi nedir, avantajları nelerdir ,neden mikroservis mimarisi tercih ediliyor gibi benimde öğrenirken merak ettiğim ve ayrı ayrı araştırmak durumunda kaldığım temel başlıklardan bahsedeceğiz.

Mikroservis Nedir?

Mikroservisler her biri tek başına kendine ait tek bir işlevi yerine getirebilen servislerdir diyebiliriz. Mikroservisleri tanımlarken benim aklıma her zaman SOLID prensibindeki Single Responsibility Principle geliyor tıpkı orada her bir nesnenin tek bir sorumluluğu olduğu gibi bizimde her bir servisimizin yine tek bir sorumluluğu var. Amaç her ikisinde de sadece bir işi en iyi şekilde yapmaktır.

Mikroservislerde her servis dışarıya bir bağımlılığı olmadan kendi sunucusuna, veritabanına vs. sahiptir. Bu da bize istediğimiz dilde kodlayabilecek, istediğimiz teknolojileri kullanabilecek özgürlüğü sunuyor. Peki bu özgürlükten ve bağımsız yapılardan sonra servisler nasıl bir araya gelir ve haberleşir dediğimiz esnada ise API GATEWAY kavramı devreye giriyor.

API Gateway nedir? Mikroservis Mimarilerinde Görevi Tam Olarak Nedir?

API Gateway’in görevi temelde Client’dan gelen istekleri alıp, bu istekleri ilgili servislere yönlendirmektir. Yukarıdaki örnekten de görüldüğü üzere örneğin, mobile app’den gelen isteğin hangi servise ulaşması gerekiyorsa(mesela User Service) o servise doğru yönlendirilmesini sağlar. Kısaca özetleyecek olursak API Gateway’den Mikroservislerin habercisi olarak bahsedebiliriz.

Bizim için en önemli avantajı ise Client’ları, uygulamanın microservislere nasıl bölündüğü konusunda düşünmekten izole eder.

Mikroservislerin iletişimlerini de konuştuktan sonra avantajlarından bahsedelim.

  • Yukarıda da belirttiğimiz gibi dil ve teknoloji bağımsız olduğundan developerlara çok dilli geliştirme konusunda yardımcı olur istenilen servis,istenilen dilde yazılabilir.
  • Herhangi bir değişiklik yapmak kolaydır. Her servis tek bir işi yerine getirdiğinden diğer servislerle bir bağımlılığı yoktur ve dolayısıyla bir yerde yapılan değişiklik başka bir serviste herhangi bir değişime yol açmaz.
  • Anlaşılabilir ve Yönetilebilirdir. Her servis küçük parçalardan oluştuğundan anlaşılması kolaydır.
  • Component bazlı Ölçeklenebilir. Monolitik uygulamaları ölçeklemek istediğimizde uygulamanın tamamını scale etmek durumundaydık ancak mikroservis mimarisinde servisler birbirinden tamamen bağımsız olduğundan en çok trafiği alan servisi tek başına scale edebilir, tüm uygulamanın scale edilmesi gibi büyük bir maliyetten kurtulup daha çözüm odaklı bir scale işlemi gerçekleştirebiliriz.

Biraz da dezavantajlarından bahsedecek olursak

  • Onlarca hatta yüzlerce servislere sahip olacağımızı düşünürsek bu servisleri takip etmek, hata yönetmek zorlayıcı bir hale gelebilir. (Bu sebepten ötürü monitoring toolları bu aşamada hayat kurtarıcı bir hal alabilirler.)
  • Her mikroserviste veritabanı,servisler bir veya birden fazla olabileceğinden, her biri için ayrı ayrı yapılandırmalara ve deployment için her servis adına ayrı bir zamana sebep olacaktır.

Temel olarak mikroservisin tanımından avantajları ve dezavantajlarından basitçe bahsettiğimiz minik bir yazı oldu. Keyifli okumalar dilerim..

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Asiye Nur Kelle
Asiye Nur Kelle

Written by Asiye Nur Kelle

Software Developer in Test @Trendyol

No responses yet