Monolotik ve Mikroservis Mimarileri Genel Bilgi

Bu başlık altında size çok kısa Microservices ve monolotik yapılara değinerek mimari çözümler anlatacağım. Daha sonra da ince ayrıntıları ile apache kafka’ yı detaya inerek  anlatacağım ve örnekler yapıyor olacağız.

Eğer Monolotik(Monolothic) ve Mikroservis(Microservices) mimarileri biliyor ve genel kültür almak istemiyorsanız direk 2.yazıya geçiş yapabilirsiniz 🙂

Microservices mimarisi ile monolithic mimariye çok kısa bir dokunmak istiyorum.

Şimdi bir uygulama hayal edelim ve düşünelim. Mesela bu uygulama bir e ticaret sitesi olsun.

E ticaret sitesinin birçok modülü vardır. Stok, Kargo, Ürün, Kullanıcılar, Mağazalar, Ödeme vb.

Bu modüller birbirlerine bağımlı çalışırlar. Bunun için mimari yaklaşımlar mevcuttur. Genel olarak monolithic ve micro service’ lerden oluşan mimarileri inceleyeceğiz.

Monolothic yapıda E ticaret sitesi:

  • Her bir modül 1 uygulamanın içinde.
  • Tüm uygulama belirli bir veritabanına bakar, bağımsızlık çok zor.
  • Sadece 1 programlama dili kullanılır.
  • Uygulama modülarite olarak bu dile bağımlı olacaktır.
  • Codebasein yönetilme zorluğu
  • Bakımının zorluğu
  • Deploy edilmesinin zorluğu vb. sorunlarla uğraşılır.

Microservices yapıda E ticaret sitesi:

  • Her bir modül ayrı servisler olarak tasarlansın.
  • HTTP Request ve Response mimarisi ile iletişim kurulsun. (Burada async sorunları yönetmek lazım. Aksi halde monolithic ten farkı kalmaz 🙂 )
  • Sınırsız programlama dili kullanılabilir. HTTP Request ve Reponse yapısına uygulduktan sonra sorun yok.
  • Bağımsız veritabanları tasarlanabilir, ki bu durum önerilir.
  • Deploy edilmesi harika kolay.
  • Bakım çok kolay.
  • Ekibe yeni developer katıldı, uyum sağlaması çok kolay.

vb. birçok kolaylıklar var.

Ama tabii ki her zaman microservices kullanmalı diye bir genelleme yoktur. Microservices dezavantajları da vardır. Modüller arası haberleşme önemlidir. JMS bir yapı kurulmalı ve Akka gibi Kafka gibi servislerin orkestrasyonunu yöneten bir yapı kurulmalıdır. Aksi halde servisler async haberleşmedikten sonra microservices daha kötü bir mimari haline gelebilir.

Konumuz mimari tasarımdan ziyade mesajlaşma servisi olan Apache Kafka olduğu için bu konuda fazla durmuyorum ama merak ettiğiniz detaylar var ise aşağıdaki bağlantılara bakmanızı öneririm.

Bağlantılar

Güzel türkçe derleme

https://medium.com/m%C3%BChendis-kafas%C4%B1/mikroservis-mimarisine-ge%C3%A7mek-cesaret-i%C5%9Fidir-49a83f736c04

Microservices hk.

Microservices vs Monolithic Arc.

Kaynak

https://medium.com/startlovingyourself/microservices-vs-monolithic-architecture-c8df91f16bb4

Bilgi

Bu yazı 3 aşamadan oluşmaktadır.

1.yazı bu yazıdır ve genel mimari yapıları anlatır.

2.yazı Apache Kafka Hakkında her detaya yer verilir.

3.yazı ise uygulama aşamasıdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir