Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт. / 25 сообщений из 27, страница 1 из 2
01.10.2020, 09:26
    #40004430
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Всем привет!
Есть у нас в конторе разработочка, 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 сервиса?
...
Рейтинг: 0 / 0
01.10.2020, 09:50
    #40004436
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.
...
Рейтинг: 0 / 0
01.10.2020, 09:54
    #40004437
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
PetroNotC Sharp
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.

Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера.
...
Рейтинг: 0 / 0
01.10.2020, 09:54
    #40004438
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,

ИМХО
Каждый сервис сделать в виде fat-jar обернуть в docker и запускать из-под kubernetes.
<:o)
...
Рейтинг: 0 / 0
01.10.2020, 09:58
    #40004441
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
mad_nazgul,
Да. Если микросервисы, то докеры и оркестровка ими в полный рост))
...
Рейтинг: 0 / 0
01.10.2020, 10:00
    #40004443
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
PetroNotC Sharp
mad_nazgul,
Да. Если микросервисы, то докеры и оркестровка ими в полный рост))

Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит...
...
Рейтинг: 0 / 0
01.10.2020, 10:00
    #40004444
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic
PetroNotC Sharp
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.

Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера.
у крупных вендоров типа MS это не получилось.
Теперь ваш личный геморой.
...
Рейтинг: 0 / 0
01.10.2020, 10:02
    #40004445
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic
PetroNotC Sharp
mad_nazgul,
Да. Если микросервисы, то докеры и оркестровка ими в полный рост))

Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит...

В микросервисах неважно время старта. Там важно работать при его отсутствии или иметь "зеркало"
...
Рейтинг: 0 / 0
01.10.2020, 10:03
    #40004447
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic
PetroNotC Sharp
mad_nazgul,
Да. Если микросервисы, то докеры и оркестровка ими в полный рост))

Думаю, что это не сильно уменьшит время старта, если наоборот не увеличит...
почитайте в вики мое слово выше "оркестровка"
...
Рейтинг: 0 / 0
01.10.2020, 10:07
    #40004449
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic
PetroNotC Sharp
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.

Да, верно, сделали десктоп из серверного приложения на нескольких сервисах, чтобы стартовало без сети, без браузера.


Использование Spring для desktop не лучшая идея.
А так ИМХО, может быть стоит разделить приложение на desktop и серверную часть.
Серверную стартовать при загрузке системы. А desktop к ней обращается по RestAPI.
...
Рейтинг: 0 / 0
01.10.2020, 10:26
    #40004454
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
mad_nazgul

А так ИМХО, может быть стоит разделить приложение на desktop и серверную часть.
Серверную стартовать при загрузке системы. А desktop к ней обращается по RestAPI.

При загрузке системы нельзя, она будет отжирать ресурсы от и так слабых ноутбуков.
А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов.
...
Рейтинг: 0 / 0
01.10.2020, 10:29
    #40004456
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,
> А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов.
= неужели не знали перед тем как писать?
...
Рейтинг: 0 / 0
01.10.2020, 10:33
    #40004459
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
PetroNotC Sharp
Nixic,
> А вообще фронт стартует секунды за 3-5 на самых слабых ноутах. Всё время забирает старт бек сервисов.
= неужели не знали перед тем как писать?

Задача была запустить, то что есть в вебе, на десктопе.
Сейчас стоит задача уменьшить время запуска приложения. Фронт перед открытием окна отображает окно с анимацией Загрузка... и ждет, когда будет доступен бек, тогда открывает окно и отрисовывает всё содержимое полученное от доступного бека.
Для первой страницы достаточно данных от одного сервиса, который стартует за секунд 10-15.

Вот в том сейчас и вопрос, можно ли получить доступ к сервису, когда задеплоится только один сервис?
Или контейнеры приложений такое не поддерживают?
...
Рейтинг: 0 / 0
01.10.2020, 10:37
    #40004461
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,
Мое имхо, что вам надо когда то остановится в превращении вашего проекта в Г....
Либо оркестровка, либо десктоп.
...
Рейтинг: 0 / 0
01.10.2020, 10:38
    #40004462
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
На этот раз с Петро не поспоришь
...
Рейтинг: 0 / 0
01.10.2020, 11:26
    #40004484
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic

Вот в том сейчас и вопрос, можно ли получить доступ к сервису, когда задеплоится только один сервис?
Или контейнеры приложений такое не поддерживают?


Если у вас SpringBoot, то вообще все 5 сервисов можно завернуть в одно приложение.
А там уже можно "сэконмить на спичках". Типа поднятие одного пула соединений к БД, инфраструктурные бины и пр.
Уникальные будут только бины специфичные для каждого из сервисов.

Но всё же лично я бы настоятельно рекомендовал разделить фронт и бак -енд.
И разнести их на разные хосты.

Т.к. то что вы сейчас делаете выглядит, как минимум странно.
...
Рейтинг: 0 / 0
01.10.2020, 12:41
    #40004509
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается.
Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить.
...
Рейтинг: 0 / 0
01.10.2020, 12:47
    #40004512
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,

Nixic
Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается.
Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить.
ну дак и делай бэк ДЕМОН стартующий с осью.
...
Рейтинг: 0 / 0
01.10.2020, 12:57
    #40004514
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
PetroNotC Sharp
Nixic,

Nixic
Фронт это отдельная вещь запускаемая через Electron c React, он к беку только по апишкам обращается.
Некая имитация десктопного приложения получается с беком на джаве в данном случае, а вообще ему не важно куда обращаться за данными, всегда можно изменить.
ну дак и делай бэк ДЕМОН стартующий с осью.

старт с осью будет отжирать ресурсы машины.
...
Рейтинг: 0 / 0
01.10.2020, 13:04
    #40004520
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Nixic,
Значит это не бэк.
Опять говорим одно, подразумеваем другое.
...
Рейтинг: 0 / 0
01.10.2020, 13:26
    #40004534
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Время старта 1м 15 сек для хорошего back приложения - это не много.
У нас одна система стартовала минут 20. Прогревала кеши. Для работы биржевых процессов.

По поводу того что за эти 1м 15 сек происходит. Я думаю что Tomcat уже исчерпал свои возможности.
Вам надо смотреть в сторону ленивой инициализации компонентов. Пускай поднимутся только те
которые нужны для окна фронта. А остальные - по факту обращения. Благо у Спринга много возможностей
сделать это. Подозреваю что у вас просто есть много ненужных действий. Там. Всякие статик конструкторы.
Вобщем решение их лежит наверное не в плоскости Tomcat. Просто посмотрите по логам какая активность.
Или по Flight Recorder.
...
Рейтинг: 0 / 0
01.10.2020, 15:51
    #40004582
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
mayton
Время старта 1м 15 сек для хорошего back приложения - это не много.
У нас одна система стартовала минут 20. Прогревала кеши. Для работы биржевых процессов.

По поводу того что за эти 1м 15 сек происходит. Я думаю что Tomcat уже исчерпал свои возможности.
Вам надо смотреть в сторону ленивой инициализации компонентов. Пускай поднимутся только те
которые нужны для окна фронта. А остальные - по факту обращения. Благо у Спринга много возможностей
сделать это. Подозреваю что у вас просто есть много ненужных действий. Там. Всякие статик конструкторы.
Вобщем решение их лежит наверное не в плоскости Tomcat. Просто посмотрите по логам какая активность.
Или по Flight Recorder.

Да, спасибо! Тоже думаю, что нужно уже убирать использование той же авторизации, логстеша, есть еще синхронизация айдишников нескольких enum с БД... На счет ленивой инициализации слышал, но не смотрел в эту сторону, т.к. пока добивали варианты улучшения скорости контейнера.
...
Рейтинг: 0 / 0
01.10.2020, 16:38
    #40004594
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Если у вас - правильно написанное Spring приложение то ничего вам фактически делать не надо.
Только правильно разбить функционал по low-coupling/high-cohession и смотрите в лог какие бины поднялись.

Если поднялись ненужные бины - разбирайтесь кто их дёрнул и почему.
...
Рейтинг: 0 / 0
05.10.2020, 13:25
    #40005423
Bsplesk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Можно попробовать поиграться с graal vm.
У нас была задача уменьшить время старта контейнеров с микросервисами, но нам не шибко помогло, да и не везде его можно использовать (reflection). Еще был Excelsior, но их Huawei купил. Бинариник запускается секунд на 10-30 быстрей.
...
Рейтинг: 0 / 0
05.10.2020, 13:42
    #40005429
Bsplesk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Мы пробовали уже давно (года 1.5 назад) ..... возможно стоит еще раз попробовать и всё уже гораздо лучше ....
https://habr.com/ru/company/otus/blog/503328/
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт. / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]