Развертывание новых реагирующих приложений, созданных с помощью веб-пакета - PullRequest
0 голосов
/ 30 марта 2020

У меня есть небольшой случай, когда мои приложения перестают работать. позвольте мне попытаться объяснить сценарий.

Я создаю много реагирующих приложений с помощью веб-пакета. ресурсы 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 минуты приложение стабилизируется и все начинает работать нормально.

это может быть из-за следующих проблем:

  1. старые запросы контейнера отправляются в новый контейнер, потому что истек срок действия липкой сессии. и пользователь не обновил страницу.

  2. новые запросы контейнера отправляются в старый контейнер, потому что липкая сессия не работает.

в любом случае я получаю 404 за приложения.

Я хочу знать, что можно сделать, чтобы избежать этого сценария.

...