Mikroservis Nedir?
Mikro servisler teknoloji değil bir mimari yaklaşımdır. Tek parça (monolitik) ve karmaşık uygulamaların, her bir parçanın kendi sorumluluk alanına sahip olduğu, birbiriyle iletişim kurabilen daha küçük bağımsız parçalara ayrılmasına denir. Gerçek hayattan örnek verecek olursak bir market çalışanının işinin sadece müşterinin aldığı ürünleri paketlemek olduğunu varsayalım burada çalışan aynı işi yaptığı için hem çalışan yaptığı işte uzmanlaşır hem de çalışanın yaptığı iş daha kolay takip edilebilir. Aynı zamanda bu çalışanın işten ayrılması kasadaki ödeme işlerini etkilemez kısa sürede o çalışanın yeri doldurulabilir. Yani sistemin küçük bir parçasında duraksama yaşanırsa kalan parçalar bu duraksamadan en az şekilde etkilenir.
Mikroservis mimarisi ile tasarlanan
sistemlerde ölçeklendirme kolaydır servisler küçük parçalar halinde tasarlandığından
cevik yazılım metodolojisi sunar kodda değişiklik kolaydır.
Her bir servis istenildiği gibi tasarlanabilir kullanılacak yazılım dilleri
hatta veri tabanları bile farklı seçilebilir.
Her nekadar mikroservis çözümleri en
iyisiymiş gibi görünsede ihtiyaçları iyi belirleyip ona göre kullanımına karar
vemek gerekir.
Mikroservislerin Avantaj ve Dezavantajları:
Avantajları
Teknoloji Çeşitliliği: Her
bir servis kendi yazılım diline ve veritabanına sahip olabilir.
Esneklik & Hata Toleransı:
Bir serviste hata oluşursa sistemin bütünü bundan etkilenmez.
Ölçekleme: Yoğun kullanılan
servislere daha fazla kaynak ayrılması.
Kolay deployment
işlemleri: Her geliştirme işlemi sonrasında bütün sistemin deploy
edilmesi yerine her bir servisin ayrı ayrı deploy edilebilmesi.
Çalışanların daha iyi yönetilmesi:
Hangi çalışanın hangi işi yaptığının daha iyi bilinmesi. Yeni katılan çalışanın
sistemin tamamını değil de ilgili servisi daha hızlı ve kolay öğrenebilmesi.
Tekrar kullanılabilirlik ve
optimizasyon: Sistemin eskimiş değiştirilmesi gereken parçalarının daha
kolay yenilenebilmesi ya da tamamen kaldırılması.
Dezavantajları
Servisler arası iletişim ve uyumlu şekilde çalışması ve bu işlemin zorluğu.
Debug etme zorluğu bunun yerine loglama ya da monitoring araçları kullanılır.
Entegrasyon testlerinin zorluğu.
Transaction işlemlerinin zorluğu
Küçük servisler olduğu için her bir servisin bakım maliyeti.
Yorumlar
Yorum Gönder