Mikroservisler, günümüz yazılım geliştirme dünyasının en önemli yapılarından biri haline geldi. Büyük ve karmaşık uygulamaları küçük, bağımsız ve yönetilebilir parçalara ayırmak, hem yazılımcıların hem de işletmelerin işini oldukça kolaylaştırıyor. Peki, bu mikroservis mimarisi nasıl kurulur? İşte burada devreye Docker giriyor. Docker, uygulamalarınızı konteynerler içinde çalıştırarak, mikroservisleri çok daha verimli ve yönetilebilir hale getiriyor. Ancak bu teknolojiler, ilk bakışta karmaşık görünebilir. Endişelenmeyin! Bu yazıda, Docker ile mikroservis mimarisi kurulumu konusunda sıfırdan nasıl başlayabileceğinizi adım adım anlatacağım.
Mikroservis Mimarisi Nedir ve Neden Kullanılır?
Mikroservislerin avantajlarından bazıları:
- Bağımsız Güncellemeler: Bir mikroservisi güncellerken diğerlerini etkilemezsiniz.
- Yüksek Ölçeklenebilirlik: Her bir mikroservis ayrı ayrı ölçeklendirilebilir.
- Teknolojik Çeşitlilik: Her mikroservis, farklı teknolojilerle yazılabilir.
Ancak, mikroservislerin bir dezavantajı da vardır: yönetimleri ve bağlantıları karmaşıklaşabilir. İşte bu noktada Docker devreye giriyor.
Docker Nedir?
Docker ile mikroservislerinizi geliştirirken, her bir servisin ayrı bir konteynerde çalışmasını sağlarsınız. Docker'ın sunduğu taşınabilirlik ve izolasyon özellikleri sayesinde, her mikroservis hem geliştirme hem de üretim ortamlarında aynı şekilde çalışır.
Docker ile Mikroservis Kurulumu: Adım Adım
# 1. Docker’ı Kurun
Kurulum tamamlandığında, terminal veya komut satırına şu komutu girerek Docker’ın doğru şekilde kurulduğundan emin olabilirsiniz:
```bash
docker --version
```
# 2. Docker Compose Kurulumu
```bash
sudo apt install docker-compose
```
# 3. Mikroservis Yapısını Belirleyin
Her bir mikroservis için ayrı bir Docker konteyneri oluşturacağız. Bu mikroservislerin birbirleriyle nasıl iletişim kuracağını ise Docker Compose ile yapılandıracağız.
# 4. Dockerfile Oluşturun
# Node.js imajını kullanıyoruz
FROM node:14
# Çalışma dizinini belirliyoruz
WORKDIR /app
# package.json ve package-lock.json dosyalarını kopyalıyoruz
COPY package*.json ./
# Gerekli modülleri yüklüyoruz
RUN npm install
# Uygulama dosyalarını kopyalıyoruz
COPY . .
# Uygulamayı başlatıyoruz
CMD ["npm", "start"]
# 5. Docker Compose Dosyasını Hazırlayın
version: '3'
services:
userservice:
build: ./user-service
ports:
- "3001:3001"
productservice:
build: ./product-service
ports:
- "3002:3002"
orderservice:
build: ./order-service
ports:
- "3003:3003"
Bu dosya, her bir mikroservisin bulunduğu dizini belirler ve her bir servisin hangi portlarda çalışacağını tanımlar.
# 6. Uygulamanızı Çalıştırın
```bash
docker-compose up --build
```
Bu komut, tüm mikroservislerinizi başlatacak ve gerekli Docker konteynerlerini oluşturacaktır.
# 7. Test Edin
Docker ile Mikroservislerin Avantajları
- Hızlı Geliştirme ve Test: Her mikroservis ayrı konteynerlerde çalıştığı için geliştirme ve test süreçleri daha hızlı gerçekleşir.
- Esneklik: Mikroservislerinizi ihtiyaca göre ölçeklendirebilirsiniz.
- Portabilite: Docker konteynerleri farklı platformlarda sorunsuz çalışır.