TGViewer
Женя Янченко Женя Янченко @jane_yanchenko · 5.51K subscribers
Post #82 2.68K
Про микросервисы

На одной из ранних работ у меня был огромный монолит. Это был 2019, микросервисы уже активно использовали, но тому продукту было лет 10. Огромная база данных. Хранимые процедуры, которые мы постепенно убирали, переводя в код приложения. Разбираться было тяжело, а еще было грустно, что не работаешь с модными молодежными микросервисами. Тогда у меня сложилось ощущение, что монолит == легаси.

На следующем месте я уже писала микросервисы во всей красе: с синхронным и асинхронным взаимодействием, со своими библиотеками, и была счастлива😊

На ютубе есть канал про архитектуру { между скобок } (не реклама, с удовольствием смотрю сама), один из форматов видео — обсуждение книг. Недавно я посмотрела плейлист про книгу Сэма Ньюмана «От монолита к микросервисам». Первое видео очень интересное, гостем был Филипп Дельгядо. Моменты, которые обсуждали в этом видео, совпали с моим опытом как разработчика и лида, поэтому записала их и решила поделиться.

Основные принципы микросервисов согласно книге:
1️⃣ Независимый деплой
2️⃣ Нейтральны к технологиям
3️⃣ Общаются между собой по сети
4️⃣ Выстроены вокруг бизнес-домена

Плюсы микросервисов по Сэму Ньюману:

➕ Система становится более отказоустойчивый

С этим спорят в выпуске, поскольку в случае микросервисов у нас сетевые соединения, которые гораздо менее стабильны, чем вызовы функций внутри одного монолитного приложения.

➕ Масштабируется разработка — много разработчиков могут разрабатывать разные сервисы.

Поддерживаю, удобно параллелить работы.

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

Тоже перекликается с моим опытом. Для решения конкретной задачи разобраться в одном микросервисе и его БД проще.

➕ Свобода в выборе технологии

Мне кажется, это может быть как плюсом, так и минусом. Если каждый будет писать на чем хочет, то систему будет сложно поддерживать. Другое дело, что для специфической задачи может подходить конкретный фреймворк, и тут микросервисы очень удобны.

В выпуске затронули интересный момент. Представим компанию, в которой есть внутренние продукты, каждый продукт имеет один публичный API, а внутри часто построен на микросервисах. Важно следить, чтобы другие системы компании могли ходить только на публичный API, а не на API отдельных микросервисов вашего продукта, когда им надо что-то точечно.

➕ С микросервисами проще выстраивать структуру в организации.

В выпуске это очень здорово сформулировали:
в случае ответственности команды за какой-то модуль в монолите это бывает сложно показать бизнесу. Когда же есть микросервисы — материальные объекты, единицы деплоя — показать это бизнесу становится проще. Микросервисы позволяют сделать очевидным деление на зоны ответственности. Делают связь организационной структуры и структуры продукта более наглядной.

Ведущие и Филипп отметили и другие плюсы:

➕ Микросервисы позволяют реализовать разные нефункциональные требования в рамках одного продукта.

Например, у сервиса, работающего с банковскими картами, требования безопасности будут очень суровые. При этом другие сервисы это не затронет, у них все будет проще.

У меня в продукте есть база с персональными данными пользователей, с ней работает отдельный микросервис, со своими требованиями.

Требования по нагрузке могут отличаться, а значит можно отдельно масштабировать: поднять несколько инстансов отдельного микросервиса.

➕ Микросервисы упрощают архитектурный надзор. В монолите сложно отследить, что кто-то напрямую пошел в БД в таблицу из другого модуля вместо работы через сервисы (может помочь ArchUnit — Java/C# библиотека для проверки архитектуры кода).

➕ Легче найм, так как есть ассоциация монолит — легаси.

Обсудили и сложности микросервисов:
➖ нужно большое внимание к контрактам, следить за совместимостью и версиями
➖ выше квалификация разработчиков, так как это распределенные системы.

В силу имеющегося опыта мои симпатии на стороне микросервисов, но конечно для небольшого стартапа сразу их делать я бы не стала.
  • 👍 22
  • 🔥 11
  • ❤ 5
  • ❤‍🔥 1
More from @jane_yanchenko
  1. Sep 25, 2026В прошлой жизни, когда я была менеджером проектов, одним из первых мест работы у меня был…
  2. Sep 23, 2026Куда пропало обращение - развязка В прошлом посте у нас загадочно пропало обращение 58122.…
  3. Sep 23, 2026Куда пропало обращение Однажды от руководителя техподдержки пришло письмо, суть которого с…
  4. Sep 21, 2026🔗 Подборка постов про Кафку Как обещала на стриме, собрала посты про Кафку в удобное огла…
  5. Sep 21, 2026🎞 Готова запись стрима про Кафку: https://youtu.be/2aRKsD-MWDA Большое спасибо всем, кто…
  6. Sep 16, 2026Сегодня стрим по Кафке в 19:00 Планируем не в формате доклада, а в формате вопрос-ответ, ч…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →