Docker Microservices

ארכיטקטורת מיקרו-שירותים עם Docker

גרסה 2.0.0 עודכן: 10/02/2025

סקירה כללית

תשתית מיקרו-שירותים מבוססת Docker הכוללת שירותי API, מסד נתונים, cache, ומערכת ניטור. הפרויקט מדגים ארכיטקטורה מודרנית עם דגש על סקיילביליות, עמידות ותחזוקתיות.

תכונות עיקריות

  • ארכיטקטורת מיקרו-שירותים
  • Docker Compose לסביבת פיתוח
  • Kubernetes Manifests לפריסה
  • מערכת ניטור מובנית

ארכיטקטורה

שירותים:

  • API Gateway (Node.js)
  • Auth Service (Python)
  • Product Service (Go)
  • Order Service (Java)
  • MongoDB & Redis

הוראות התקנה


# Clone the repository
git clone https://github.com/devops-israel/docker-micro

# Start development environment
docker-compose up -d

# Run tests
docker-compose exec api npm test

# Scale services
docker-compose up -d --scale api=3
                    

Docker Compose


version: '3.8'

services:
  api-gateway:
    build: ./api-gateway
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=development
      
  auth-service:
    build: ./auth
    environment:
      - MONGODB_URI=mongodb://mongo:27017/auth
      
  product-service:
    build: ./product
    environment:
      - REDIS_URL=redis://redis:6379
      
  order-service:
    build: ./order
    depends_on:
      - mongo
      
  mongo:
    image: mongo:4.4
    volumes:
      - mongo-data:/data/db
      
  redis:
    image: redis:6.2
    volumes:
      - redis-data:/data

volumes:
  mongo-data:
  redis-data:
                    

ניטור

כלי ניטור:

  • Prometheus - איסוף מטריקות
  • Grafana - הצגת דשבורדים
  • ELK Stack - ניהול לוגים
  • Jaeger - ניטור ביצועים

פריסה לפרודקשן


# Build production images
docker-compose -f docker-compose.prod.yml build

# Push to registry
docker-compose -f docker-compose.prod.yml push

# Deploy to Kubernetes
kubectl apply -f k8s/