Microservice nedir?
- Node.js kursu
- İleri seviye
- Ders 49/83
- 5 dk
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.
Başlangıç kodu
// express içe aktar ve app oluştur
// buraya yaz
// "/users" rotasını tanımla
// buraya yaz
// "Microservice hazır" yazdır
// buraya yazÖrnek çözüm
const express = require("express");
const app = express();
app.get("/users", (req, res) => res.json({ servis: "user-service" }));
console.log("Microservice hazır");Beklenen çıktı
Microservice hazır
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Microservice mimarisinde servisler nasıl haberleşir?
service A → HTTP → service B- Doğrudan bellek paylaşımıyla
- HTTP veya mesaj kuyruğuyla Doğru cevap
- Yalnızca dosya yazarak
- Ortak bir veritabanı üzerinden
Açıklama: Servisler HTTP veya mesaj kuyruğuyla haberleşir.
2 Servis iletişim yöntemini tamamla
Servisler ____ veya mesaj kuyruğuyla haberleşir.
Servisler HTTP veya mesaj kuyruğuyla haberleşir.
Açıklama: HTTP servis iletişiminde yaygındır.
3 Kavramı açıklamasına eşle
| Kavram | Anlamı |
|---|---|
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ı |