Comments 8
Для примера сегодня полный прогон (со всеми видами тестирования юнитов, контрактные, интеграционные) CI\CD Pipeline для работающего продуктивного бизнес-приложения ─ а это около 12-15 микросервисов связанных между собой) составляет около 31 минуты что на 7-8 минут меньше показателей начала 2020 года.
К сожалению Oracle безнадежно прошляпил популяризацию контейнеров и облаков. И не смог развернуть Java в эту сторону. Java со своей тяжелой JVM годами затачивалась под выполнение серверов приложений типа Tomcat и IBM <что-то там> и продолжает развиваться в том же направлении. JVM эффективно работает когда выполняется на железной машине и целиком владеет всеми ресурсами.
Java прекрасный эзык, но для микросервисов и kubernetes не приспособлен.
Товарищи из Graal что-то делают, но там как-то у них все ещё куча ограничений, баги и очень медленная компиляция. И в целом поскольку они немного в другую сторону от Java-way идут, поэтому это направление скорее всего бесперспективно.
Поэтому такие языки как Go отгрызают и будут дальше отгрызать у Java кусочек за кусочком рынок серверных приложений.
Для задач ентерпрайза с кучей бизнес логики — как раз таки Go меньше подходит, приходится писать велосипеды и кучу сложно-теструемого кода, когда как Java именно под такие задачи заточена.
ИМХО — симбиоз вполне возможен, на то это и микросервисы.
Подскажите как вы у себя организовали документацию микросервисов и их зависимостей между собой?
Для взаимосвязей и описание меж сервисного взаимодействия пока никакой автоматизации нет, но планируем заняться этим вопросом после внедрения и перевода полностью микросервисного взаимоjдействия на Service Mesh на базе Istio + (Admiral).
Если мы говорим о реактивщине, то сразу необходимо делать реактивным полностью весь микросервис(если он самостоятелен), либо если он зависит от других то всю цепочку надо делать реактивной. Правильно я понимаю, что вы придерживаетесь именно этой практики?
Зачем изобретать велосипед: или как Группа «М.Видео-Эльдорадо» развивает собственную микросервисную архитектуру