Docker ile Mikroservis Mimarisi Nedir?
Docker, uygulama bileşenlerini konteynerler içinde izole ederek çalıştırmak için kullanılan bir platformdur. Bu, her bir mikroservisi bağımsız olarak geliştirip çalıştırmak için mükemmel bir ortam yaratır. Docker, bu mikroservislerin her birini tek bir container içinde çalıştırmak ve gerektiğinde ölçeklendirmek için müthiş bir kolaylık sağlar. Mikroservis mimarisi ise uygulamanızı daha küçük, bağımsız ve esnek parçalara böler. Bu yaklaşım, hem geliştirme hem de bakım süreçlerini daha verimli hale getirir.
Adım 1: Docker'ı Kurma
İlk adım, Docker'ı sisteminize kurmak. Docker'ı kurmak, neredeyse her işletim sistemi için oldukça basittir. Linux, macOS ve Windows için kurulum kılavuzlarını Docker’ın resmi web sitesinden bulabilirsiniz. İlgili kurulum işlemleri tamamlandığında, terminal veya komut satırına şu komutu girerek Docker'ın doğru bir şekilde kurulduğundan emin olun:
docker --version Bu komut, kurulu Docker sürümünü gösterecektir.
Adım 2: Mikroservislerinizi Planlayın
Mikroservisler, genellikle her bir işlevi bağımsız olarak gerçekleştiren küçük servislerden oluşur. Örneğin, bir e-ticaret uygulaması için sipariş, ödeme, kullanıcı yönetimi gibi farklı servisler oluşturabilirsiniz. Her bir servisin görevini ve sorumluluğunu net bir şekilde belirleyin. Bir mikroservisi Docker konteynerinde çalıştırmak, onu tek bir servis olarak ele almanızı sağlar.
Adım 3: Dockerfile Oluşturun
Her bir mikroservis için bir Dockerfile yazmanız gerekecek. Dockerfile, konteynerin nasıl oluşturulacağına dair talimatları içerir. Basit bir Node.js mikroservisi için örnek bir Dockerfile şu şekilde olabilir:
# Temel imaj olarak Node.js'i kullan
FROM node:14
# Çalışma dizinini belirle
WORKDIR /app
# Uygulama dosyalarını konteynere kopyala
COPY . .
# Bağımlılıkları yükle
RUN npm install
# Uygulama portunu aç
EXPOSE 3000
# Uygulama başlatma komutunu ver
CMD ["npm", "start"] Bu Dockerfile, Node.js mikroservisinizin nasıl yapılandırılacağını ve çalıştırılacağını belirtir. Servisinizin gereksinimlerine göre Dockerfile'ı değiştirebilirsiniz.
Adım 4: Mikroservisi Docker ile Çalıştırma
Dockerfile’ı oluşturduktan sonra, mikroservisinizi çalıştırmak için terminalden şu komutu kullanabilirsiniz:
docker build -t mikroservis-ismi . Bu komut, Dockerfile’ınızı kullanarak bir Docker imajı oluşturur. Ardından, mikroservisinizi başlatmak için şu komutu çalıştırabilirsiniz:
docker run -p 3000:3000 mikroservis-ismi Artık mikroservisiniz çalışmaya hazır!
Adım 5: Servisler Arası İletişim
Mikroservisler genellikle birbirleriyle iletişim kurar. Docker içinde her bir mikroservis bir container olarak çalıştığından, bu servislerin iletişimini yönetmek için Docker Compose kullanabilirsiniz. Docker Compose, birden fazla konteyneri birlikte çalıştırmanıza olanak tanır.
Bir örnek Docker Compose dosyası şöyle olabilir:
version: '3'
services:
mikroservis1:
build: ./mikroservis1
ports:
- "3001:3001"
mikroservis2:
build: ./mikroservis2
ports:
- "3002:3002" Bu dosya, iki mikroservisi birbirine bağlar ve her birini uygun portlar üzerinden çalıştırır.
Adım 6: Mikroservis Mimarisi ile Gerçek Dünya Uygulaması
Mikroservislerinizi geliştirip çalıştırmaya başladığınızda, onları gerçek bir uygulama içinde entegre etmeye başlamak, daha geniş bir mimariyi oluşturmak anlamına gelir. Mikroservisler, yüksek verimlilik ve esneklik sağladığı için uygulamanızda daima daha kolay ölçeklendirme, bakım ve hata ayıklama işlemleri yapabilirsiniz. Docker’ın sağladığı container teknolojisiyle, her bir mikroservisinizi izole edebilir ve farklı ortamlarda aynı yapı ile çalıştırabilirsiniz.
Ayrıca, CI/CD (Sürekli Entegrasyon ve Sürekli Dağıtım) süreçlerini kullanarak mikroservislerinizi her zaman en güncel ve güvenli hale getirebilirsiniz.