Docker Microservices
ארכיטקטורת מיקרו-שירותים עם Docker
סקירה כללית
תשתית מיקרו-שירותים מבוססת 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/