Что такое микросервис

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

Ответ

Микросервисы — это архитектурный стиль разработки ПО, где приложение разбивается на небольшие, независимые сервисы, каждый из которых решает одну бизнес-задачу.

Ключевые особенности:

  • Автономность: каждый сервис работает в своём процессе, имеет свою БД и API.
  • Гибкость: можно использовать разные технологии (языки, фреймворки) для разных сервисов.
  • Масштабируемость: можно масштабировать только нужные сервисы.
  • Независимое развертывание: обновление одного сервиса не требует перезапуска всего приложения.

Пример (Node.js + Express):

// Сервис "Пользователи" (users-service.js)
const express = require('express');
const app = express();
app.get('/users/:id', (req, res) => {
  res.json({ id: req.params.id, name: 'John Doe' });
});
app.listen(3001);

Недостатки:

  • Сложность управления распределённой системой.
  • Нужны механизмы для оркестрации (Kubernetes, Docker Swarm).
  • Требует зрелых DevOps-практик.