Как понять что микросервис превращается в монолит

«Как понять что микросервис превращается в монолит» — вопрос из категории Архитектура, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Микросервис начинает превращаться в монолит, если:

  1. Растет количество зависимостей – сервис начинает вызывать множество других сервисов напрямую, образуя жесткие связи.
  2. Общая база данных – если несколько сервисов используют одну БД, нарушается принцип изолированности данных.
  3. Сложные транзакции – бизнес-логика требует координации между сервисами (например, Saga вместо локальных транзакций).
  4. Совместное развертывание – изменения в одном сервисе требуют передеплоя других.

Пример антипаттерна:

# Микросервис "Orders" вызывает "Users" и "Payments" напрямую  
def create_order(user_id, items):  
    user = requests.get(f"http://users/{user_id}")  # Жесткая связь  
    payment = requests.post("http://payments/", json=items)  
    # ...  

Решение: Внедрить Event-Driven архитектуру (Kafka, RabbitMQ) или API Gateway для уменьшения связности.