|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Всем привет! Есть у нас в конторе разработочка, 5 сервисов на Spring Boot деплоятся/стартуют сейчас в Tomcat'е, после старта бека открывается окно фронта на electron'е. Была задача ускорить старт ибо он занимает 2 минуты (на моём ноуте, а более слабых до 6 минут доходит). Потюнил Tomcat, убрал сканирование джарников, прописал параллельный старт - Tomcat стал стартовать за 1м 15 сек., но это всё равно много. Сервисы все распакованные, то есть НЕ war файлами лежат. Взял jetty настроил (кажется), сгенерировал для каждого war quickstart-web.xml В итоге на том же ноуте получил время старта 1мин 35 сек. Даже медленнее Tomcat'а О_о Положил war файлы в webapps и для каждого создал nameOfMyApp.xml, приложу к теме, основу взял из демо внутри папки jetty 1мин 25 сек. В Tomcat'е начиная с 8-го отключили возможность определять порядок старта, мне это нужно было для того, чтобы фронтовое приложение открывало окно, после того, как один из ключевых сервисов задеплоится. В Jetty, вроде как, есть возможность задать порядок старта, но в то же время нет параллельного деплоя. И на сколько я понял, ни одно приложение не доступно(и в Tomcat, и в Jetty), пока не стартанут все, это так? Можно ли сделать так, чтобы Jetty или Tomcat стартовал c, допустим 1-2 сервисами из 5ти и они были уже доступны, а позже бы другие 3-4 сервиса? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 09:26 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, Походу вы вместо веб приложений десктоп пишите. Там важно время старта, окно при запуске и очередность. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 09:50 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic, Походу вы вместо веб приложений десктоп пишите. Там важно время старта, окно при запуске и очередность. Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 09:54 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, ИМХО Каждый сервис сделать в виде fat-jar обернуть в docker и запускать из-под kubernetes. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 09:54 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
mad_nazgul, Да. Если микросервисы, то докеры и оркестровка ими в полный рост)) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 09:58 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mad_nazgul, Да. Если микросервисы, то докеры и оркестровка ими в полный рост)) Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:00 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp Nixic, Походу вы вместо веб приложений десктоп пишите. Там важно время старта, окно при запуске и очередность. Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера. Теперь ваш личный геморой. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:00 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp mad_nazgul, Да. Если микросервисы, то докеры и оркестровка ими в полный рост)) Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит... В микросервисах неважно время старта. Там важно работать при его отсутствии или иметь "зеркало" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:02 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp mad_nazgul, Да. Если микросервисы, то докеры и оркестровка ими в полный рост)) Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:03 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic PetroNotC Sharp Nixic, Походу вы вместо веб приложений десктоп пишите. Там важно время старта, окно при запуске и очередность. Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера. Использование Spring для desktop не лучшая идея. А так ИМХО, может быть стоит разделить приложение на desktop и серверную часть. Серверную стартовать при загрузке системы. А desktop к ней обращается по RestAPI. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:07 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
mad_nazgul А так ИМХО, может быть стоит разделить приложение на desktop и серверную часть. Серверную стартовать при загрузке системы. А desktop к ней обращается по RestAPI. При загрузке системы нельзя, она будет отжирать ресурсы от и так слабых ноутбуков. А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:26 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, > А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов. = неужели не знали перед тем как писать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:29 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic, > А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов. = неужели не знали перед тем как писать? Задача была запустить, то что есть в вебе, на десктопе. Сейчас стоит задача уменьшить время запуска приложения. Фронт перед открытием окна отображает окно с анимацией Загрузка... и ждет, когда будет доступен бек, тогда открывает окно и отрисовывает всё содержимое полученное от доступного бека. Для первой страницы достаточно данных от одного сервиса, который стартует за секунд 10-15. Вот в том сейчас и вопрос, можно ли получить доступ к сервису, когда задеплоится только один сервис? Или контейнеры приложений такое не поддерживают? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:33 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, Мое имхо, что вам надо когда то остановится в превращении вашего проекта в Г.... Либо оркестровка, либо десктоп. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:37 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
На этот раз с Петро не поспоришь ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 10:38 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic Вот в том сейчас и вопрос, можно ли получить доступ к сервису, когда задеплоится только один сервис? Или контейнеры приложений такое не поддерживают? Если у вас SpringBoot, то вообще все 5 сервисов можно завернуть в одно приложение. А там уже можно "сэконмить на спичках". Типа поднятие одного пула соединений к БД, инфраструктурные бины и пр. Уникальные будут только бины специфичные для каждого из сервисов. Но всё же лично я бы настоятельно рекомендовал разделить фронт и бак -енд. И разнести их на разные хосты. Т.к. то что вы сейчас делаете выглядит, как минимум странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 11:26 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается. Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 12:41 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, Nixic Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается. Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 12:47 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Nixic, Nixic Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается. Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить. старт с осью будет отжирать ресурсы машины. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 12:57 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Nixic, Значит это не бэк. Опять говорим одно, подразумеваем другое. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 13:04 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Время старта 1м 15 сек для хорошего back приложения - это не много. У нас одна система стартовала минут 20. Прогревала кеши. Для работы биржевых процессов. По поводу того что за эти 1м 15 сек происходит. Я думаю что Tomcat уже исчерпал свои возможности. Вам надо смотреть в сторону ленивой инициализации компонентов. Пускай поднимутся только те которые нужны для окна фронта. А остальные - по факту обращения. Благо у Спринга много возможностей сделать это. Подозреваю что у вас просто есть много ненужных действий. Там. Всякие статик конструкторы. Вобщем решение их лежит наверное не в плоскости Tomcat. Просто посмотрите по логам какая активность. Или по Flight Recorder. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 13:26 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
mayton Время старта 1м 15 сек для хорошего back приложения - это не много. У нас одна система стартовала минут 20. Прогревала кеши. Для работы биржевых процессов. По поводу того что за эти 1м 15 сек происходит. Я думаю что Tomcat уже исчерпал свои возможности. Вам надо смотреть в сторону ленивой инициализации компонентов. Пускай поднимутся только те которые нужны для окна фронта. А остальные - по факту обращения. Благо у Спринга много возможностей сделать это. Подозреваю что у вас просто есть много ненужных действий. Там. Всякие статик конструкторы. Вобщем решение их лежит наверное не в плоскости Tomcat. Просто посмотрите по логам какая активность. Или по Flight Recorder. Да, спасибо! Тоже думаю, что нужно уже убирать использование той же авторизации, логстеша, есть еще синхронизация айдишников нескольких enum с БД... На счет ленивой инициализации слышал, но не смотрел в эту сторону, т.к. пока добивали варианты улучшения скорости контейнера. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 15:51 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Если у вас - правильно написанное Spring приложение то ничего вам фактически делать не надо. Только правильно разбить функционал по low-coupling/high-cohession и смотрите в лог какие бины поднялись. Если поднялись ненужные бины - разбирайтесь кто их дёрнул и почему. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.10.2020, 16:38 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Можно попробовать поиграться с graal vm. У нас была задача уменьшить время старта контейнеров с микросервисами, но нам не шибко помогло, да и не везде его можно использовать (reflection). Еще был Excelsior, но их Huawei купил. Бинариник запускается секунд на 10-30 быстрей. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 13:25 |
|
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
|
|||
---|---|---|---|
#18+
Мы пробовали уже давно (года 1.5 назад) ..... возможно стоит еще раз попробовать и всё уже гораздо лучше .... https://habr.com/ru/company/otus/blog/503328/ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2020, 13:42 |
|
|
start [/forum/topic.php?fid=59&msg=40004437&tid=2120668]: |
0ms |
get settings: |
27ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
517ms |
get tp. blocked users: |
2ms |
others: | 329ms |
total: | 965ms |
0 / 0 |