Service decomposition, API gateway, event-driven architecture, messaging
Микросервисная архитектура на Django.
💡 Правило: Начинайте с монолита, разделяйте когда есть потребность.
User Service → PostgreSQL (users)
Order Service → PostgreSQL (orders)
Payment Service → PostgreSQL (payments)
Notification Svc → PostgreSQL (notifications)
# Kong / Nginx / AWS API Gateway
routes:
- path: /users/* → user-service
- path: /orders/* → order-service
- path: /payments/* → payment-service# Producer (Order Service)
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=['kafka:9092'])
producer.send('orders', {'event': 'OrderCreated', 'order_id': 123})
# Consumer (Payment Service)
from kafka import KafkaConsumer
consumer = KafkaConsumer('orders', bootstrap_servers=['kafka:9092'])
for message in consumer:
process_order(message.value)import pybreaker
breaker = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=60)
@breaker.call
def call_payment_service(order_id):
response = requests.post(f'{PAYMENT_SERVICE}/charge', json={'order_id': order_id})
return response.json()Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.