Ответ
Архитектурный стиль — это набор высокоуровневых принципов и шаблонов, определяющих организацию компонентов системы, их взаимодействие и распределение ответственности.
Ключевые примеры:
- Монолитная архитектура: Все компоненты приложения тесно связаны и выполняются в едином процессе.
- Микросервисная архитектура: Система состоит из небольших, независимо развертываемых сервисов, общающихся по сети (часто через HTTP/REST или асинхронные сообщения).
- Событийно-ориентированная архитектура (EDA): Компоненты взаимодействуют через генерацию и потребление событий, что обеспечивает слабую связанность (например, с использованием брокеров вроде Apache Kafka).
- Сервис-ориентированная архитектура (SOA): Крупные, повторно используемые сервисы общаются по стандартным протоколам (часто SOAP/WS-*).
Практический пример (REST API для микросервиса на Python/Flask):
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api/v1/users', methods=['GET'])
def get_users():
# Логика получения пользователей из БД или другого сервиса
users = [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]
return jsonify(users)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
Почему это важно? Выбор стиля напрямую влияет на масштабируемость, отказоустойчивость, скорость разработки и сложность тестирования (например, в микросервисах критически важны интеграционные и контрактные тесты).