Встречается на собеседованиях • сегодня

В чем разница между монолитной и микросервисной архитектурой

Микросервисы и монолит — это две архитектурные парадигмы разработки ПО.

Монолит — единое приложение, где все компоненты (логика, БД, интерфейс) тесно связаны и разверты как один сервис.
Плюсы: простота разработки, деплоя, отладки.
Минусы: сложность масштабирования, зависимость компонентов, риск "хрупкости".

Микросервисы — приложение разбито на независимые сервисы, каждый со своей логикой и БД, общающиеся через API (HTTP, gRPC и т.д.).
Плюсы: гибкость, масштабируемость, изолированность сбоев.
Минусы: сложность оркестрации (Kubernetes), мониторинга, сетевых задержек.

Пример монолита (Flask):

python
from flask import Flask

app = Flask(__name__)

@app.route('/users')
def get_users():
    return {"users": ["Alice", "Bob"]}

@app.route('/orders')
def get_orders():
    return {"orders": [1, 2, 3]}

Пример микросервисов:

  • Сервис users (отдельное приложение):
python
@app.route('/users')
def get_users():
    return {"users": ["Alice", "Bob"]}
  • Сервис orders (другое приложение):
python
@app.route('/orders')
def get_orders():
    return {"orders": [1, 2, 3]}

Выбор зависит от масштаба проекта и требований к гибкости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы