Node.js ile Mikroservis Mimarisi Kurma
Node.js kullanarak mikroservis mimarisi ile ölçeklenebilir uygulamalar geliştirin.
Node.js ile Mikroservis Mimarisi Kurma
Mikroservis mimarisi, büyük ve karmaşık yazılımların daha küçük, bağımsız parçalar halinde geliştirilmesine olanak tanır. Node.js, hafif ve hızlı bir yapı sunarak bu mimarinin gerçekleştirilmesinde ideal bir tercihtir. Bu yazıda, Node.js ile mikroservis mimarisi kurmanın temel adımlarını inceleyeceğiz.
1. Mikroservis Nedir?
Mikroservis, tek bir uygulamanın birden fazla bağımsız servis olarak bölündüğü bir yazılım mimarisidir. Her bir mikroservis, belirli bir işlevi yerine getirir ve diğer mikroservislerle REST API veya mesajlaşma protokolleri aracılığıyla iletişim kurar.
2. Neden Node.js?
Node.js, asenkron yapısı ve olay tabanlı mimarisi sayesinde yüksek performans sunar. Ayrıca, JavaScriptin hem sunucu hem de istemci tarafında kullanılması, geliştiricilerin becerilerini daha iyi kullanmasına olanak tanır. Bunun yanı sıra, npm ile yüzlerce paket ve kütüphaneyi kolaylıkla projelerinize entegre edebilirsiniz.
3. Mikroservis Yapısı
Mikroservis mimarisi genellikle aşağıdaki bileşenlerden oluşur:
- API Gateway: Tüm isteklerin geldiği noktadır. İstemcilerden gelen istekleri ilgili mikroservislere yönlendirir.
- Servisler: Her mikroservis kendi işlevini yerine getirir ve veritabanı ile etkileşimde bulunabilir.
- Veritabanları: Her mikroservis, bağımsız çalışabilmesi için kendi veritabanına sahip olabilir.
4. İlk Projemizi Oluşturalım
Adım 1: Proje Klasörleri
Öncelikle, mikroservislerinizi barındıracak bir klasör yapısı oluşturmalısınız. Örneğin:
/my-microservices
/api-gateway
/user-service
/product-service
Adım 2: API Gateway Oluşturma
api-gateway klasöründe basit bir Express uygulaması oluşturun:
cd api-gateway
npm init -y
npm install express axios
Ardından index.js dosyasını oluşturup aşağıdaki kodu ekleyin:
const express = require(\'express\');
const axios = require(\'axios\');
const app = express();
const PORT = 3000;
app.get('/users', async (req, res) => {
const response = await axios.get('http://localhost:4000/users');
res.send(response.data);
});
app.listen(PORT, () => {
console.log(API Gateway running on port ${PORT});
});
Adım 3: User Service Oluşturma
user-service klasörüne geçin ve benzer şekilde bir servis oluşturun:
cd user-service
npm init -y
npm install express
index.js dosyasına aşağıdaki kodu ekleyin:
const express = require(\'express\');
const app = express();
const PORT = 4000;
const users = [{ id: 1, name: 'Ali' }, { id: 2, name: 'Ayşe' }];
app.get('/users', (req, res) => {
res.send(users);
});
app.listen(PORT, () => {
console.log(User Service running on port ${PORT});
});
Adım 4: Uygulamayı Çalıştırma
Her iki servisi de ayrı terminal pencerelerinde çalıştırın:
npm start // user-service için
npm start // api-gateway için
Artık API Gateway üzerinden kullanıcı verilerine ulaşabilirsiniz! Tarayıcınıza gidip http://localhost:3000/users adresini ziyaret edin ve user-service üzerinden dönen verileri görün.
Sonuç
Node.js ile mikroservis mimarisi oluşturmak, ölçeklenebilir ve yönetilebilir uygulamalar geliştirmenin harika bir yoludur. Asenkron yapısı ve geniş ekosistemi sayesinde geliştirme sürecini hızlandırabilirsiniz. Elbette burada bahsettiğimiz yapıyı daha da karmaşıklaştırmak ve özellik eklemek mümkün; Microservices, Docker gibi araçlarla entegre edilerek daha güçlü hale getirilebilir.
Mikroservis mimarisi ile ilgili daha fazla bilgi edindikçe, projenizde daha fazla özgürlük ve esneklik elde edeceksiniz. Denemekten çekinmeyin!