Uygulamaları bağımsız, küçük ve özerk hizmetlere bölen modern mimari yaklaşım hakkında kapsamlı bilgiler.
Mikroservisler, bir uygulamayı bağımsız olarak dağıtılabilen, küçük, özerk hizmetlere bölen bir mimari stildir.
Geleneksel monolitik mimarinin aksine, mikroservis mimarisi, her biri kendi işlevselliğine odaklanan ve kendi veritabanını yöneten küçük, bağımsız servislerden oluşur. Bu servisler, hafif iletişim mekanizmaları (genellikle HTTP/REST API veya mesaj kuyrukları) aracılığıyla birbirleriyle iletişim kurarlar.
Mikroservis mimarisi; ölçeklenebilirlik, esneklik, bakım kolaylığı, teknoloji çeşitliliği ve hızlı geliştirme gibi avantajlar sunar. Ancak, dağıtık sistemlerin karmaşıklığı, servisler arası iletişim yönetimi ve izleme zorlukları gibi dezavantajları da vardır.
Her mikroservis, belirli bir iş fonksiyonunu veya özelliğini gerçekleştirmekten sorumludur. Bu, "Tek Sorumluluk Prensibi"nin (Single Responsibility Principle) bir uygulamasıdır.
Her mikroservis, diğer servisleri etkilemeden bağımsız olarak dağıtılabilir, güncellenebilir veya ölçeklendirilebilir. Bu, sürekli entegrasyon ve sürekli dağıtım (CI/CD) süreçlerini kolaylaştırır.
Mikroservisler, birbirlerine minimum bağımlılıkla tasarlanır. Servisler arasındaki iletişim, iyi tanımlanmış API'ler veya mesaj kuyrukları aracılığıyla gerçekleşir.
Mikroservisler, teknolojik katmanlara göre değil, iş yeteneklerine göre organize edilir. Bu, "Conway Yasası"nı dikkate alarak, organizasyon yapısının yazılım mimarisini yansıtmasını sağlar.
Her mikroservis, kendi veritabanını yönetir ve diğer servislerin veritabanlarına doğrudan erişim sağlamaz. Bu, "Veritabanı per Servis" (Database per Service) prensibi olarak bilinir.
Chris Richardson'ın mikroservis tasarım desenleri hakkındaki kapsamlı kitabı.
Ziyaret EtMikroservis mimarisi hakkında temel makaleler ve kavramlar.
Ziyaret EtKonteynerleştirilmiş mikroservisleri yönetmek için Kubernetes rehberi.
Ziyaret EtMikroservislerin birbirlerini dinamik olarak bulabilmesini sağlayan, servis kayıt ve keşif mekanizmaları (Consul, Eureka, etcd).
Daha Fazla Bilgiİstemciler ile mikroservisler arasında aracılık yapan, istek yönlendirme, kimlik doğrulama ve hız sınırlama gibi işlevleri gerçekleştiren bileşen.
Daha Fazla BilgiHata toleransını artırmak için kullanılan, başarısız servis çağrılarını izleyen ve gerektiğinde devreyi kesen bir tasarım deseni (Netflix Hystrix).
Daha Fazla Bilgi