Node.js
Microservice nedir?
Microservice mimarisini öğrenirsin.
Microservice nedir?
Bir microservice, tek bir iş yeteneğini yerine getiren küçük, bağımsız servistir. Tek büyük uygulama (monolit) yerine, her iş alanı ayrı bir servis olur: kullanıcı servisi, sipariş servisi, ödeme servisi. Her servis kendi yaşam döngüsüne sahiptir.
Microservice mimarisinde her servis ayrı süreç olarak çalışır ve birbiriyle HTTP ya da mesaj kuyruğuyla haberleşir. Avantajları: bağımsız dağıtım, ayrı ölçekleme, teknoloji seçiminde esneklik. Dezavantajları: dağıtık karmaşıklık, ağ gecikmesi, operasyonel yük. Node.js, hafif HTTP sunucuları ve asenkron yapısıyla microservice'lere çok uygundur. Bu grupta temel desenleri öğreneceksin: iletişim, API gateway, service discovery ve circuit breaker.
Monolit vs microservice
Bir monolit, tüm işlevlerin tek bir uygulamada olduğu mimaridir. Microservice'te ise her işlev ayrı bir servistir. Monolit başlangıçta basittir; ama büyüdükçe dağıtım ve ölçekleme zorlaşır.
Örnek: bir e-ticaret monoliti kullanıcı, sipariş ve ödeme kodlarını tek bir uygulamada tutar. Microservice karşılığı üç ayrı servis olur. Microservice'te her servis ayrı dağıtılır; sipariş servisindeki bir değişiklik kullanıcı servisini etkilemez. Ama servisler arası iletişim ağ üzerinden olur; bu da gecikme ve hata olasılığı ekler. Bu yüzden circuit breaker, retry ve service discovery gibi desenlere ihtiyaç duyulur. Doğru tasarım, monolit ile microservice arasında bir denge kurar.
Uygulama Kullanıcı servisi iskeletini yaz
express modülünü içe aktar. app oluştur. app.get("/users", (req, res) => res.json({ servis: "user-service" })) tanımla. console.log ile "Microservice hazır" yaz.
Örnek çözümü göster
const express = require("express");
const app = express();
app.get("/users", (req, res) => res.json({ servis: "user-service" }));
console.log("Microservice hazır");
Kendini test et
-
Microservice mimarisinde servisler nasıl haberleşir?
service A → HTTP → service B
- Doğrudan bellek paylaşımıyla
- HTTP veya mesaj kuyruğuyla
- Yalnızca dosya yazarak
- Ortak bir veritabanı üzerinden
Cevabı göster
HTTP veya mesaj kuyruğuyla — Servisler HTTP veya mesaj kuyruğuyla haberleşir.
-
Servis iletişim yöntemini tamamla
Servisler ____ veya mesaj kuyruğuyla haberleşir.
Cevabı göster
Servisler HTTP veya mesaj kuyruğuyla haberleşir.
-
Kavramı açıklamasına eşle
- microservice
- Tek iş yapan küçük servis
- monolit
- Tek büyük uygulama
- HTTP
- Servis iletişim protokolü
- mesaj kuyruğu
- Asenkron iletişim kanalı
Sıradaki ders: Service communication