Комментарии 8
тема микросервисов не раскрыта :)
habr.com/post/280786 и github.com/sqshq/PiggyMetrics (я к тому, что в статье от 16 года и то обширнее расписано. ну, да, спринг бут 2.0.5, котлин, все дела… )
habr.com/post/280786 и github.com/sqshq/PiggyMetrics (я к тому, что в статье от 16 года и то обширнее расписано. ну, да, спринг бут 2.0.5, котлин, все дела… )
+2
Я мало чего понимаю в spring, но каждый раз когда я вижу spring и микро в одном предложени меня это коробит. Можете рассказать про потребление ресурсов и накладные расходы на все эти слои абстракции в рантайм?
+3
Если не вносить ненужные зависимости в приложения, что нередко случается на практике, то потребление ресурсов в целом умеренное.
Например, все микросервисы из этого проекта я могу запустить на своём домашнем ПК (8 Гбайт ОЗУ, 4-х ядерный процессор 3,2 ГГц), и это не будет мешать другим задачам.
Если говорить о конкретных цифрах, то каждое из 5-и приложений стартует не дольше 15 секунд и использует не более 400 Мбайт памяти; суммарно после запуска всё вместе расходует 1,4 Гбайт.
Потребление ресурсов в рантайме будет зависеть от нагруженности приложения. В моей практике в не самой высоконагруженной системе приложения добавляли к стартовой цифре не более 200-300 Мбайт. Максимальное потребление памяти одним сервисом не превышало 600 Мбайт, но в основном сильно меньше.
Кроме того, есть из чего выбрать в плане серверов приложений (Tomcat, Undertow, Netty etc.), это также будет влиять на потребление ресурсов.
Существует более детальное исследование этого вопроса от разработчиков Spring (с поправкой на 2015 г.).
Например, все микросервисы из этого проекта я могу запустить на своём домашнем ПК (8 Гбайт ОЗУ, 4-х ядерный процессор 3,2 ГГц), и это не будет мешать другим задачам.
Если говорить о конкретных цифрах, то каждое из 5-и приложений стартует не дольше 15 секунд и использует не более 400 Мбайт памяти; суммарно после запуска всё вместе расходует 1,4 Гбайт.
Потребление ресурсов в рантайме будет зависеть от нагруженности приложения. В моей практике в не самой высоконагруженной системе приложения добавляли к стартовой цифре не более 200-300 Мбайт. Максимальное потребление памяти одним сервисом не превышало 600 Мбайт, но в основном сильно меньше.
Кроме того, есть из чего выбрать в плане серверов приложений (Tomcat, Undertow, Netty etc.), это также будет влиять на потребление ресурсов.
Существует более детальное исследование этого вопроса от разработчиков Spring (с поправкой на 2015 г.).
0
Только стек немного уже неактуальный. Уже ж вышел SpringBoot 2.1 + Spring 5.1
Который официально поддерживает Java 11.
Не пробовали проапгрейдить?
Который официально поддерживает Java 11.
Не пробовали проапгрейдить?
+1
Вы правы, есть более новые версии Spring и Spring Boot. Однако есть ещё и структура зависимостей Spring: Spring Cloud -> Spring Boot -> Spring. Как видно, в этой цепочке Spring Cloud обновляется последним.
Сейчас в проекте используется последняя версия Spring Cloud (Finchley SR2), которая использует уже не самые актуальные версии Spring Boot и Spring, но гарантированно совместима с ними.
Выход новой версии Spring Cloud ожидается в конце декабря. В него как раз будут включены более новые версии Spring Boot и Spring.
И из-за необходимости совместимости библиотек подобная ситуация будет повторяться и в будущем.
Сейчас в проекте используется последняя версия Spring Cloud (Finchley SR2), которая использует уже не самые актуальные версии Spring Boot и Spring, но гарантированно совместима с ними.
Выход новой версии Spring Cloud ожидается в конце декабря. В него как раз будут включены более новые версии Spring Boot и Spring.
И из-за необходимости совместимости библиотек подобная ситуация будет повторяться и в будущем.
+1
OpenFeign не поддерживает реактивность. Лучше пользоваться WebClient, который входит в Spring 5.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Микросервисная архитектура на современном стеке Java-технологий