Встречается на собеседованиях • сегодня
В чем разница между сервисной и микросервисной архитектурами
Сервисная архитектура (SOA) и микросервисная архитектура (MSA) — это два подхода к декомпозиции приложений, но с ключевыми различиями:
-
Гранулярность:
- SOA использует более крупные сервисы, часто с обширной бизнес-логикой.
- MSA разбивает функционал на мелкие, узкоспециализированные сервисы (1 сервис = 1 функция).
-
Коммуникация:
- В SOA сервисы общаются через ESB (Enterprise Service Bus), что может стать узким местом.
- В MSA сервисы используют легковесные протоколы (HTTP/REST, gRPC, Messaging).
-
Данные:
- SOA часто использует общую БД.
- MSA требует, чтобы каждый сервис имел свою БД (принцип Bounded Context).
-
Масштабирование:
- SOA масштабируется монолитно.
- MSA позволяет масштабировать отдельные сервисы.
Пример MSA на Python (FastAPI):
python
# Сервис пользователей
from fastapi import FastAPI
app = FastAPI()
@app.get("/users/{id}")
def get_user(id: int):
return {"id": id, "name": "Alice"}python
# Сервис заказов
@app.get("/orders/{user_id}")
def get_orders(user_id: int):
return [{"order_id": 1, "user_id": user_id}]Итог: MSA — это эволюция SOA с упором на автономность, легкость и гибкость.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы