На своем опыте я понял, что микросервисы — это не магия. Это инструмент, который работает только в определенных условиях. Если вы внедряете их “потому что все так делают”, то готовьтесь к проблемам. Давайте разберемся, в чем их реальная сложность, и когда микросервисы действительно оправданы.
Сразу в закладки. Случается, приходится спорить с джунами, которые рвутся переделать наш, довольно специфический продукт, с монолита на модные микросервисы. Теперь буду просто ссылку на статью посылать.
А зачем спорить с джунами ? Джун на то и джун, что должен делать, что говорят и на ус наматывать что взрослые говорят. "Твой номер пятнадцатый, помалкивай себе в тряпочку" (с).
Ахахах) да, полезная штука безусловно. Присылайте их ко мне, я их так напугаю опытом своим, что они сразу передумают) Мы меняли текст на сайте целый день ;)
Понятно, что иногда они все таки полезны) Но это должен быть выбор не мальчика, а архитектора:)
Ну у нас тоже достаточно специфичный продукт, над которым работают полторы сотни инженеров последние 6 лет. И раз за разом приходится объяснять новым программистам в проекте почему они не могут добавить свой неидеальный код в этот модуль. Да и вообще почему их функционал должен быть реализован вообще в другом репозитории.
И советуем еще раз почитать эту сотку страниц документации чтоб следующий раз не лезть со своими pr-ами.
Микросервисная архитектура - это в первую очередь история про распределенные транзакции, идемпотентность. Если вы решили изолировать часть логики в отдельном приложении и обращаетесь к нему через апи - это не микросервис, а просто источнмк данных, такой же как субд, например. Почему то субд, эластик, редис не называют микросервисами.
Да и общение между микросервисами должно происходить через брокер сообщений. А если вы лезете в микросервис через апи - это херня собачья, а не микросервис.
А теперь подумайте, зачем вам весь этот головняк с настройкой коммуникации, брокерами, сагами, рассинхроном апи, когда в вашей системе работает 3 калеки, в лучшем случае.
Вообще лучше сделать монолит, в котором из коробки будет подарок в виде транзакции субд, а на сэкономленные деньги лучше заказать сервер помощнее.
А как же gRPC?
Расскажите, пожалуйста, поподробнее. Мне стало интересно. Звучит логично. Ведь чаще всего люди действительно считают что инкапсулируем щас по смыслу одну логику от другой и будем по апи ходить - это типо микросервис. Было бы интересно услышать более детально вашу точку зрения. Я фронт в большей части но попробую понять ваше представление.