У меня есть веб-приложение Spring Boot, которое я хотел бы разделить на шесть отдельных приложений; один из них будет предоставлять домашнюю страницу и вход в систему в конечных точках под «/
», а остальные будут запрашивать путь подкаталога («/subsystem1
», «/subsystem2
» и т. д. c ...). У меня есть довольно четкое представление о том, как я мог бы использовать JWT для передачи аутентификации / авторизации из приложения входа в систему другим.
Основная причина этого заключается в том, что каждая подсистема может быть изменена или обновлена без выключения других. И организационно, поэтому нам не нужно подвергать все приложение процессу QA при изменении только одной подсистемы.
Можно ли настроить несколько экземпляров Spring Boot для запуска на одном сервере в то же время и один и тот же порт с разными путями / каталогами к их конечным точкам? Как?
Мне не удалось найти ни одного дублирующего вопроса, но вот два связанных вопроса, которые могут предложить подсказки:
Приемлемые ответы:
Если, как подсказывает ekalin , невозможно, чтобы несколько приложений Spring Boot прослушивали один и тот же порт, вот пара идей Я провел мозговой штурм (но не знаю, как это сделать sh):
Возможно, экземпляры могут работать на разных портах, кроме основного приложения (t он со страницей входа в систему) может "переслать" или перенаправить на другие приложения каким-либо образом, который скрывает их истинные URL-адреса? Например, "localhost: 8080 / subsystem1" будет псевдонимом для "localhost: 8081 /".
Возможно, у каждого приложения могут быть свои собственные контейнеры Docker, все они выполняются в общем Docker сеть, и мы используем Docker как-то для сопоставления каждого URL-пути к нужному приложению? Может ли это быть настроено с помощью docker -compose?
Мы настроили прокси-сервер, который сопоставляет URL-пути к отдельным приложениям.