Node.js ve Microservices: Başlangıç Rehberi ve Linux Üzerinde Kurulum

Node.js ve Microservices: Başlangıç Rehberi ve Linux Üzerinde Kurulum

Node.js ile mikroservisler kurmak isteyen geliştiriciler için rehber. Linux üzerinde adım adım kurulum, servisler arası iletişim ve basit örnekler içeriyor.

BFS

Geliştiriciler için yeni teknolojiler ve mimariler her zaman heyecan verici bir keşif yolculuğu olur. Eğer yazılım geliştirme dünyasında biraz ilerlediyseniz, "Microservices" (Mikroservisler) kavramını mutlaka duymuşsunuzdur. Peki, Node.js ile bu mimariyi nasıl kurabilirsiniz? Linux üzerinde mikroservis mimarisini adım adım nasıl inşa edersiniz? İşte bu yazımızda, Node.js ile Microservices kullanımını derinlemesine keşfedeceğiz. Hazırsanız başlayalım!

Microservices, yazılımın küçük, bağımsız çalışan bileşenlere bölündüğü bir mimaridir. Bu bileşenler birbirinden bağımsız olarak geliştirilip, dağıtılabilir ve yönetilebilir. Klasik monolitik yapılar yerine, her bir mikroservis belirli bir işlevi yerine getirir. Bu yaklaşım, geliştirme ve bakım süreçlerini çok daha verimli hale getirir. Ama asıl büyüleyici olan şey, her mikroservisin bağımsız bir şekilde ölçeklendirilebilmesidir.

Node.js, hızlı performansı ve hafif yapısıyla, mikroservis mimarisi için mükemmel bir platformdur. Özellikle I/O tabanlı işlemler ve yüksek verimli web uygulamaları için son derece uygun olan Node.js, mikroservislerinizi daha hızlı geliştirebilmenize olanak tanır. Ayrıca, JavaScript dünyasında zaten tanıdık olduğunuz için, bu yazılım geliştirme süreci daha verimli ve kolay olacaktır.

Şimdi, Linux üzerinde Node.js ve Microservices kurulumuna geçelim. İşte adım adım nasıl yapacağınız:

Linux üzerinde Node.js’i kurmak oldukça basittir. Terminali açın ve aşağıdaki komutları girerek Node.js’i yükleyin:

sudo apt update
sudo apt install nodejs
sudo apt install npm


Bu komutlar, Node.js ve npm (Node Package Manager) paket yöneticisini bilgisayarınıza yükleyecektir. Yükleme işlemi tamamlandığında, kurulumun başarılı olup olmadığını kontrol etmek için aşağıdaki komutları kullanabilirsiniz:

node -v
npm -v


Eğer Node.js’in ve npm’in sürüm numaralarını görüyorsanız, kurulum başarılı olmuş demektir!

Node.js ile mikroservisler geliştirmeye başlamak için, her servisi ayrı birer dosya olarak oluşturacağız. Her servisin kendi bağımsız portunda çalışacağını unutmayın.

Öncelikle bir proje dizini oluşturun:

mkdir node-microservices
cd node-microservices


Sonra, her bir mikroservis için ayrı birer klasör oluşturun. Örneğin, kullanıcı servisi ve ödeme servisi gibi iki ayrı servisi yapılandıralım:

mkdir user-service
mkdir payment-service


Şimdi, bir mikroservis oluşturalım. Örneğin, bir kullanıcı servisi olsun. Bu servisin temel işlevi, basitçe kullanıcı bilgilerini döndürmek olsun. İlk olarak, kullanıcı servisi için bir `index.js` dosyası oluşturalım:

const express = require('express');
const app = express();
const port = 3001;

app.get('/users', (req, res) => {
  res.json({ users: ["Ali", "Ayşe", "Mehmet"] });
});

app.listen(port, () => {
  console.log(`User service listening at http://localhost:${port}`);
});


Bu, kullanıcı servisini oluşturduğumuz basit bir örnek. `express` modülüyle bir API oluşturduk ve `/users` endpoint’ine gelen isteklere basit bir JSON yanıtı döndürüyoruz.

Mikroservislerin birbirleriyle iletişim kurması gerekecek. Örneğin, ödeme servisi kullanıcı bilgilerine ihtiyaç duyabilir. Bu durumda, kullanıcı servisini HTTP istekleriyle çağırabiliriz. Örneğin, ödeme servisini şu şekilde kurabiliriz:

const express = require('express');
const axios = require('axios');
const app = express();
const port = 3002;

app.get('/payment', async (req, res) => {
  try {
    const users = await axios.get('http://localhost:3001/users');
    res.json({ message: "Ödeme başarılı", users: users.data });
  } catch (error) {
    res.status(500).json({ message: "Bir hata oluştu", error: error.message });
  }
});

app.listen(port, () => {
  console.log(`Payment service listening at http://localhost:${port}`);
});


Bu kod, ödeme servisini başlatır ve kullanıcı servisine bir HTTP isteği gönderir. Eğer kullanıcı servisi yanıt verirse, ödeme işlemi başarılı olur.

Her iki servisi de başlattığınızda, terminalde servislerin başarılı bir şekilde çalıştığını görebilirsiniz. Şimdi, bir tarayıcıya `http://localhost:3002/payment` yazarak ödeme servisini test edebilirsiniz. Eğer her şey doğru çalışıyorsa, kullanıcıların listesiyle birlikte "Ödeme başarılı" mesajını görmelisiniz.

Bu yazıda, Linux üzerinde Node.js ile nasıl mikroservisler kurabileceğinizi, her bir servisin nasıl çalıştığını ve birbirleriyle nasıl iletişim kurabileceğini öğrendiniz. Microservices mimarisi, yazılım projelerinizi daha esnek ve ölçeklenebilir hale getirecek güçlü bir yapıdır. Node.js’in hızlı ve verimli yapısı ise bu süreci kolaylaştırır.

Bu basit rehberle başladığınızda, daha karmaşık mikroservis projelerine geçiş yapmanız çok daha kolay olacak. İleri düzeydeki projelerinizde Node.js’in avantajlarından faydalanarak güçlü ve verimli bir yapı oluşturabilirsiniz.

İlgili Yazılar

Benzer konularda diğer yazılarımız

NetBeans Debugging Başlatılmıyor – Çözüm Adımları ile Sorunu Gidermek

Her programcı, özellikle de yeni başlayanlar, zaman zaman NetBeans gibi popüler bir IDE kullanırken sorunlarla karşılaşabilirler. Bu sorunlar arasında en sinir bozucusu, şüphesiz "Debugging Başlatılmıyor" hatasıdır. Ancak merak etmeyin, bu hata tek bir...

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...