Sistem mimarisi nedir?
Mimari, kodu nasıl yapılandırdığı ve düzenlendiği sorusuyla karşı karşıya. Hangi mimarlık seçenekleri var ve dışarıda ve dezavantajlar nelerdir?
Yazılımın geliştirilmesi ile ilgili olan herkes genellikle yazma kodu ile ilgilenir. Gerçekte, bu her şey değildir, ancak kodun yapısının planlanması ve tasarımı için de geçerlidir: mimarlık tekliflerinin geniş alanı tam olarak bu konu ile ilgilidir.
Temel olarak, mimari bir sistem ve yazılım düzeyinde yönetilebilir. Sistem mimarisi enine yapılar ve bunların düzenlenmesi ile ilgilenirken, yazılım mimarisi bir süreç içindeki yapıyı ilgilendirir. Her iki düzeyde de bazı mimari türler vardır, diğerleri sadece sistem mimarisi veya yazılım açısından.
Monolitik mimarlık
En basit mimari monolittir: tek bir tek, büyük otonom yapı vardır. Monolit, seviyeler veya başka bir yapı olmadan çalışır, bu yüzden düşünmeniz gerekmediği bir “mimarlık olmayan” a karşılık gelir, ancak bu sadece belirli bir anlamda yaratılır.
İstemci Sunucusu
Bir sonraki en karmaşık yaklaşım, bir uygulamanın iki bölümden uca ve bir backndend'e ayrıldığı istemci sunucusunun mimarisidir. Bazı durumlarda, bu mimari, örneğin web tarayıcısında gerçekleştirilebilen kullanıcı arayüzünü, şirket mantığından ve sunucuda yapılan verilere erişimden ayıran web geliştirmede doğal prosedürdür. Mobil uygulama genellikle bu yaklaşımı takip eder.
Bu yaklaşımın en büyük avantajı, merkezi bir noktada tutarlılığı ve bütünlüğü kontrol edebilme ve garanti etme olasılığıdır – bu aynı zamanda en büyük dezavantajdır, çünkü bu tasarlanmış sistemler merkezi sunucu ile tek bir iflas noktasına sahiptir, bu da sistemi diğer yaklaşımlardan daha fazla saldırı veya sansür ölçümlerine daha duyarlı hale getirir.
Akrandan akran (P2P)
Buna bir alternatif, merkezi olmayan ve dağıtılmış bir şekilde çalışan, ancak bir sunucu olmadan yapabilen P2P mimarileridir: bunun yerine, tüm düğümler birbirine eşit derecede eşdeğerdir ve verileri doğrudan değiştirir. Bir uygulamayı rahatsız etmek için bu inşa edilen uzun bir zamandır, çünkü sistem yeni yollar arıyor, tabiri caizse – şüpheler durumunda, diğer düğümlerden.
Tarihsel olarak konuşursak, P2P sistemleri esas olarak, özellikle binyılın sonunda yaygın olan az çok yasal borsaların çeşitli borsaları tarafından bilinir. Şirket uygulamalarını geliştirmek için aynı kavramlar, protokoller ve yöntemler de kullanılabilir.
Hizmete dayalı mimari
Tüm bunların bir karışımı, bağımsız olarak geliştirilebilen, gerçekleştirilebilen, test edilebilen ve güncellenebilen daha küçük teknik birimlerde bir uygulamayı sökme fikrine dayanan dağıtılmış hizmete dayanan mimarilerdir. Temel prensip yeni değil, çünkü zaten -90'ların ortalarında olduğu gibi, hala teknik olarak çok karmaşık olan SOA ve WOA ile karşılık gelen yaklaşımlar vardı.
Bu arada, mikro ve nanoservizi, bu tür mimari için ortak prosedürü temsil eder, bu da genellikle buluttan sunucu olmayan yaklaşımlarla da birleştirilir. Bununla birlikte, arkasındaki fikirler her zaman aynıdır, yani sadece büyük bir yazılım geliştirmek yerine bireysel, otonom ve özerk hizmetler ağı olarak bir uygulama.
TL; DR: Mimarlık, yazılımın ve ilgili bileşenlerin yapısı ve düzenlenmesi ile ilgilidir. Her biri bireysel avantajları ve dezavantajları olan çeşitli mimari türleri vardır: monolitten müşteri sunucularına ve P2P'ye hizmete dayalı mimariye.
()