powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
27 сообщений из 27, показаны все 2 страниц
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40004430
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Есть у нас в конторе разработочка, 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
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40004436
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.
...
Рейтинг: 0 / 0
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40004437
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Nixic,
Походу вы вместо веб приложений десктоп пишите.
Там важно время старта, окно при запуске и очередность.

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

Если поднялись ненужные бины - разбирайтесь кто их дёрнул и почему.
...
Рейтинг: 0 / 0
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40005423
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать поиграться с graal vm.
У нас была задача уменьшить время старта контейнеров с микросервисами, но нам не шибко помогло, да и не везде его можно использовать (reflection). Еще был Excelsior, но их Huawei купил. Бинариник запускается секунд на 10-30 быстрей.
...
Рейтинг: 0 / 0
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40005429
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мы пробовали уже давно (года 1.5 назад) ..... возможно стоит еще раз попробовать и всё уже гораздо лучше ....
https://habr.com/ru/company/otus/blog/503328/
...
Рейтинг: 0 / 0
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40005450
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и не забыть про фишки самого spring_а типа:
org.springframework:spring-context-indexer ( https://docs.spring.io/spring-framework/docs/5.0.6.RELEASE/spring-framework-reference/core.html#beans-scanning-index)
...
Рейтинг: 0 / 0
Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
    #40005466
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не забыть про коробочные технологии типа AOT. Которые конечно-же появились после Graal/Excelsior
но тем не менее заслуживают упоминания.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Tomcat, Jetty порядок старт приложений, старт не всех, отложенный старт.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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