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

Middle
1.5k просмотров
AFK Offer AI

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

Плюсы: независимый деплой, масштабирование отдельных частей, разные команды работают параллельно, можно использовать разные языки. Минусы: сетевая сложность, distributed transactions, мониторинг, eventual consistency.

Go отлично подходит для микросервисов: быстрая компиляция, маленький Docker-образ (~10-20 MB с scratch), низкое потребление памяти, встроенная конкурентность. Не делай микросервисы ради микросервисов — начни с монолита и выделяй сервисы по мере роста.

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

Что такое утиная типизация?