Какие знаешь виды архитектур
Python
Middle
Без компании
Какие знаешь виды архитектур
Ответы
В Python и разработке в целом распространены несколько архитектурных подходов:
- **Монолитная** - всё в одном приложении (Django часто так используют).
```
# views.py в Django - классический монолит
def home(request):
return HttpResponse("Hello World")
```
- **Микросервисная** - разбиение на независимые сервисы (Flask/FastAPI для отдельных сервисов).
```
# product_service.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/products")
def get_products(): ...
```
- **Слоистая (n-tier)** - разделение на presentation/business/data слои.
```
# Пример структуры:
# presentation/ (API endpoints)
# services/ (бизнес-логика)
# repositories/ (работа с БД)
```
- **Event-Driven** - общение через события (Celery, Kafka).
```
@app.task
def process_order(order_id): # Celery task
...
```
- **Serverless** - функции как сервис (AWS Lambda, GCF).
```
def lambda_handler(event, context): # AWS Lambda
return {"status": 200}
```
Выбор зависит от масштаба, требований к масштабируемости и сложности проекта.