Мне интересно, работает ли решение Docker быстрее и эффективнее с точки зрения памяти, чем мое текущее развертывание Tomcat. Я объясню оба решения.
Электрический ток: У меня есть сервер Tomcat, на котором развернуто около 20 WAR. WAR - это приложения Spring Boot. Это требует много памяти, времени загрузки и денег.
Альтернатива докеру: Альтернатива, о которой я думаю, - это хост-докер с 20 контейнерами докеров, по одному для каждого приложения. Кажется, Spring рекомендует использовать JAR для изображений JDK.
Итак, Docker или контейнеризация в целом улучшает память и скорость?
Одно улучшение, которое я ожидаю, заключается в том, что приложения могут запускаться параллельно. Мы надеемся, что это ускорит время загрузки (при условии, что многоядерное оборудование). Я здесь?
Во-вторых, мне интересно, какой подход будет работать с памятью наиболее эффективно. Что произойдет, если у меня будет несколько WAR с одной и той же зависимостью? Будет ли Tomcat повторно использовать для этого память зависимостей? А докер будет?
@ScaryWombat Нет, не знаком с Waratek. И да, несколько серверов Tomcat действительно возможны, и мы тоже это используем (+20 войн). Однако в данном случае это не вариант.
waratek имеет (или имел) JVM, которая действует как тип рабочей станции VM для JVM (мультитенантная), каждая JVM может иметь разную память, разное количество процессоров и другие ограничения (подумайте, libvirtd), каждый клиент JVM также может иметь другую версию
@ScaryWombat Спасибо, вы предлагаете решение. Но я также хотел бы понять, как используется память в обоих упомянутых мною решениях.




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