CodeBlanks Logo Icon CodeBlanks

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.

Başlangıç kodu

index.js
// 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

index.js
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?

index.js
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

Soru
Servisler ____ veya mesaj kuyruğuyla haberleşir.
Cevap
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ı

İleri seviye bölümündeki tüm dersler