Multi-WAR tomcat против контейнеров Docker

Мне интересно, работает ли решение Docker быстрее и эффективнее с точки зрения памяти, чем мое текущее развертывание Tomcat. Я объясню оба решения.

Электрический ток: У меня есть сервер Tomcat, на котором развернуто около 20 WAR. WAR - это приложения Spring Boot. Это требует много памяти, времени загрузки и денег.

Альтернатива докеру: Альтернатива, о которой я думаю, - это хост-докер с 20 контейнерами докеров, по одному для каждого приложения. Кажется, Spring рекомендует использовать JAR для изображений JDK.

Итак, Docker или контейнеризация в целом улучшает память и скорость?

Одно улучшение, которое я ожидаю, заключается в том, что приложения могут запускаться параллельно. Мы надеемся, что это ускорит время загрузки (при условии, что многоядерное оборудование). Я здесь?

Во-вторых, мне интересно, какой подход будет работать с памятью наиболее эффективно. Что произойдет, если у меня будет несколько WAR с одной и той же зависимостью? Будет ли Tomcat повторно использовать для этого память зависимостей? А докер будет?

Вы смотрели на waratek? или считается несколькими серверами Tomcat. В обоих случаях вы можете установить точные требования к памяти для каждого приложения.

Scary Wombat 28.06.2018 09:11

@ScaryWombat Нет, не знаком с Waratek. И да, несколько серверов Tomcat действительно возможны, и мы тоже это используем (+20 войн). Однако в данном случае это не вариант.

codesmith 28.06.2018 17:31

waratek имеет (или имел) JVM, которая действует как тип рабочей станции VM для JVM (мультитенантная), каждая JVM может иметь разную память, разное количество процессоров и другие ограничения (подумайте, libvirtd), каждый клиент JVM также может иметь другую версию

Scary Wombat 29.06.2018 02:01

@ScaryWombat Спасибо, вы предлагаете решение. Но я также хотел бы понять, как используется память в обоих упомянутых мною решениях.

codesmith 02.07.2018 14:59
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
6
4
773
0

Другие вопросы по теме