Kategoriler

Flykobi

Flykobi

Hızlı ve Kaliteli İşletme Yönetimi, Stok Takip Programı, Personel Yönetimi, İçerik Yönetim Sistemi,

Gizlilik Sözleşmesi

Gizlilik Sözleşmesi

Son Kullanıcı Sözleşmesi

Son Kullanıcı Sözleşmesi

Telif, Atıf ve Lisanslar

Telif, Atıf ve Lisanslar

Kullanmakta olduğumuz multimedya ve yazılım lisans ve atıfları

Çerez Kullanım Politikası

Çerez Kullanım Politikası

Codenfast ve Website Modülü Sistemlerinde Kullanılan Çerezler Hakkında Bilgiler

Mikroservis Mimarisine O Kadar İhtiyacımız Var mı?

16/11/2021

Son Ziyaretçi Tarihi 04/12/2021 21:11:03

Mikroservis Mimarisine O Kadar İhtiyacımız Var mı?

Mikroservis yapısında; entity'lerin her biri ayrı bir mikroservis olması gerekiyor. Eğer modül bazlı geliştirirseniz (anti-pattern), bu sistem çokta iyi gittiğini söyleyemeyiz. Entity'lerin her birini ayrı mikroservis yaparsanız (microservis pattern), bu seferde toplu olarak RAM tükeden ve tek başına anlamsız kalmış bir ton küçük program elde etmiş oluyorsunuz

Çoğunlukla bazı kişiler RAM konusunda bazı optimizelere gitseler (manuel programın RAM miktarını kısmak ...vs) bile, spring zaten taban kaynak ile çalışmakta olup, daha aşağısına ayarlandığında programların stabilitesi kalmamaktadır

Bazı programcılar gayet low-level kodlamaya geçmek durumunda kaldıklarını dahi söyleyebilirim.

Sistem olarak günümüz için söylemek gerekirse;

Genel araştırmamın sonucunda;

(Ortalama 4 haftalık süre sonucunda)

Aşağıdaki şartlardan bir tanesi bile varsa, mikroservis mimarisi ile proje kurmak aşırı derecede tehlikeli ve mantıksız kalmaktadır.


  • Tek sunucunuz varsa
  • Yazılım ekibiniz küçükse (25 kişiden az)
  • Aşırı hassas veri bulundurma ve işlemeniz mevcut ise (Sağlık, Finans, Muhasebe ve diğer transaction içeren işlemler)
  • Projeniz çok çok büyük kitleye hitap etmiyorsa veya projeniz çok çok büyük değilse
  • Yeterince hızlı bir network'unuz yok ise (1 GB ve altı)
  • Projenizi küçük parçalara ayıramıyorsanız
  • Windows sunucunuz varsa (Doğrudan kötü bir yanı yok, ancak çoğu sanallaştırma sistemi windows üzerinde çok verimli ve hatta stabil değil)
  • Projenizde sürekli güncelleme yapmıyorsanız (yani belirli aralıkta sürüm çıkmanız yeterli oluyorsa)
  • Projenizin çok karmaşık yapılara girmiyorsa (standart bir uygulama ise, öyle komplex sistemleri bir araya toplamaya çalışmıyorsanız)
  • Devops işlerini yapacak bir kişinin olmaması veya jenkins'in yeterli olmaması durumu varsa;
  • Saas hizmetlerine bütçe ayıramıyorsanız (mikroservis sayısı arttıkça, fiyat artacaktır)


Mikroservis mimarisi SİZE (yani şirketinize) GÖRE değil.

Mikroservis mimarisinde çok söylenmeyen bazı problemlerde azıcık projeyi geliştirmeyle kendilerini gösterdiler.

2-3 tane fayda için sürüsüne bereket problemi alıp size getirmekten başka bir işe yaramıyor.

Ancak bu kesinlikle; Mikroservis mimarisi çöptür DİYEMEYİZ!

Fakat yukarıdaki problemleri gördükten sonra, açıkçası bir defa daha düşünmekte fayda var ki, 2-3 yıl önce "monolitik çok kötüüüüü" diyenler bugün "monolitik iyiymiş be" moduna geri döndükleri var.

Ancak monolitik yapıya mikroservisin bazı özellikleri kazandırabiliyoruz.

Örnek; Sistemin hepsi koca bir gemi olsun, sizin kenarda birkaç tane tekne ve filikanızın olması size hiçbirşey kaybettirmez. 

Ha evet, maganda fanatiğine sorarsanız; evet. Bu her açıdan bir anti-pattern.

Sahi? Biz bu kadar arkada boğuşurken, son kullanıcı ne diyor...?

-> Umrunda bile değil ve farkı anlamadı bile

O zaman biraz daha projelerimizin tamamını (büyük resim) hem bugün hem de yarın ne olabileceğini düşünmemiz yeterli olur.


Okuduğunuz için teşekkür ederim

ŞK