У меня есть небольшой случай, когда мои приложения перестают работать. позвольте мне попытаться объяснить сценарий.
Я создаю много реагирующих приложений с помощью веб-пакета. ресурсы stati c копируются в одно приложение nodejs с разными маршрутами, отображающими разные реагирующие приложения. я использую codeship
, чтобы встроить код своего приложения в docker изображение. и aws ecs
для его развертывания
вот типичный сценарий, когда я пытаюсь внедрить новые изменения в производство / подготовку.
TAG1 => существующее работающее приложение на ecs.
route /dashboard/
отображает /dashboard/index.html
, который имеет stati c ссылок как
/static/app/dashboard/main.a1.js
. a1 - это чанк ха sh, сгенерированный webpack
/static/app/dashboard/homepage.a2.js.
TAG2 => новое приложение, которое развернуто / развертывается в настоящее время
route /dashboard/
рендерит /dashboard/index.html
со значениями c как
/static/app/dashboard/main.b1.js
. b1 - это чанк ха sh, сгенерированный webpack
/static/app/dashboard/homepage.b2.js.
Теперь чанк ha sh изменился, поскольку изменился код моего приложения. также это новый docker образ на этот раз
Я также включил липкий сеанс с продолжительностью 1 минуту на ALB
, теперь проблема возникает после развертывания i у меня есть временное окно примерно 1-2 минуты, в течение которого активы stati c начинают давать мне 404
. через 1-2 минуты приложение стабилизируется и все начинает работать нормально.
это может быть из-за следующих проблем:
старые запросы контейнера отправляются в новый контейнер, потому что истек срок действия липкой сессии. и пользователь не обновил страницу.
новые запросы контейнера отправляются в старый контейнер, потому что липкая сессия не работает.
в любом случае я получаю 404 за приложения.
Я хочу знать, что можно сделать, чтобы избежать этого сценария.