Ana içeriğe geç

Monolit

İngilizcesi
Monolith
Okunuşu
monılit

Günlük kullanımda iki ad da yaygın.

Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/monolith

Kısaca

Monolit, tek parça olarak derlenip dağıtılan, tüm özelliklerin tek kod tabanını, tek süreci ve çoğunlukla tek veritabanını paylaştığı yazılım uygulamasıdır.

Monolit nedir?

Monolitik mimaride her özelliğin kullanıcı arayüzü, iş mantığı ve veri erişimi tek bir kod tabanında yer alır ve birlikte dağıtılır. Monolit olarak kurulmuş bir çevrimiçi mağaza; ürünleri, sepetleri, ödemeleri ve kullanıcı hesaplarını aynı uygulamanın içinde yönetir. Herhangi bir parçayı değiştirmek, uygulamanın tamamını yeniden derlemek, test etmek ve yayınlamak anlamına gelir.

Monolitlerle başlamak kolaydır: yerelde çalıştırılacak tek bir proje, dağıtılacak tek bir şey vardır ve özellikler arasındaki çağrılar hızlı ve hata ayıklaması kolay sıradan fonksiyon çağrılarıdır. Her şey genellikle aynı veritabanını kullandığı için birden çok özelliğe yayılan işlemler (transaction) de basittir. Yeni ürünlerin ve küçük ekiplerin çoğunun monolitle başlamasının nedeni budur.

Bir uygulama ve ekibi büyüdükçe kötü yapılandırılmış bir monolitin değiştirilmesi zorlaşabilir, çünkü bir alandaki küçük bir düzenleme başka bir alanı bozabilir. İyi düzenlenmiş monolitler, kodu açık sınırları olan iç modüllere bölerek bunu önler; bu yaklaşıma modüler monolit denir.

Başlıca alternatif, her özelliğin ayrı ve bağımsız dağıtılabilir bir servis olarak çalıştığı mikroservislerdir. Monolit tek çatı altındaki büyük bir mağazaya, mikroservisler ise özelleşmiş dükkânlarla dolu bir sokağa benzer. Monolit, kötü kodun eş anlamlısı değildir; kendi ödünleri olan geçerli bir mimaridir.

Önemli noktalar

  • Monolit, tek parça olarak derlenir, dağıtılır ve ölçeklenir.
  • Özellikle başlangıçta geliştirmesi, test edilmesi ve dağıtılması basittir.
  • Büyük ve kötü yapılandırılmış monolitlerin değiştirilmesi zorlaşabilir.
  • Modüler monolit tek dağıtımı korur ama net iç sınırlar uygular.

Örnek

Monolit: her özellik tek bir uygulamadatypescript
// One codebase, one deployment: every feature is part of the same app
import { createServer } from "./server";
import { productRoutes } from "./products";
import { cartRoutes } from "./cart";
import { paymentRoutes } from "./payments";

const app = createServer();

// All features run in the same process and share one database
app.use(productRoutes);
app.use(cartRoutes);
app.use(paymentRoutes);

app.listen(3000);

Sık sorulan sorular

Monolit ile mikroservisler arasındaki fark nedir?

Monolit tek bir uygulama olarak dağıtılır; mikroservisler ise sistemi bağımsız olarak dağıtılan ve ölçeklenen birçok küçük servise böler. Monolitlerin kurulması ve çalıştırılması daha basittir; mikroservisler ise operasyonel karmaşıklık pahasına büyük ekiplere daha fazla bağımsızlık sağlar.

Monolit kötü müdür?

Hayır. Küçük ve orta ölçekli projelerin çoğunda iyi yapılandırılmış bir monolit, mikroservislerden daha basit, ucuz ve hızlı geliştirilir. Sorunlar genellikle monolit olmaktan değil, kötü iç yapıdan kaynaklanır.

Modüler monolit nedir?

Modüler monolit, kodu katı sınırları olan bağımsız modüllere bölünmüş, tek başına dağıtılabilen bir uygulamadır. Tek dağıtımın basitliğini korurken gerekirse ileride ayrı servisleri ayırmayı kolaylaştırır.

Sık karşılaştırılanlar

İlgili sayfalar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar