Я развертываю свои службы Java Rest в службах приложений Azure, я пытаюсь понять сине-зеленое развертывание в Azure, я прочитал этот официальный блог на Azure Blue Green: https://azure.microsoft.com/en-in/blog/blue-green-deployments-using-azure-traffic-manager/
У меня есть первоначальная идея, но что, если на синем экземпляре много активных подключений, а новый код развернут на зеленом экземпляре, и после проверки работоспособности мы поменяем синий на зеленый. Если есть какое-либо живое соединение на синем, оно прервется или будет удерживаться до тех пор, пока не будет предоставлен полный ответ от конечной службы.
Под обменом я подразумеваю кнопку управления под названием Swap, доступную в службах приложений Azure. Меня больше всего беспокоит, будут ли какие-либо данные потеряны при обмене, когда есть живое соединение
Никакие существующие запросы не будут прекращены или каким-либо образом затронуты. В самой статье рассказывается о том, как вы постепенно переводите трафик с одного синего на зеленый. Он не прерывает резко запросы.
Я думаю, что эта часть вызывает некоторую путаницу:
we swap blue with green
Обмен не является деструктивной операцией, когда вы убиваете один экземпляр и начинаете использовать другой. Обмен просто говорит диспетчеру трафика указать на другой IP-адрес. Запросы, указывающие на старый IP, не затрагиваются.
Вы можете проверить это, создав конечную точку, которая удерживает соединение в течение длительного времени. Затем, пока соединение удерживается, нажмите swap. Зарегистрируйтесь, чтобы увидеть, что произошло.
В частности, для службы приложений в документации говорится следующее:
The traffic redirection is seamless, and no requests are dropped because of swap operations.
https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots
И какие-либо предложения о том, когда мы должны удалить промежуточную среду?
AppService Swap не перемещает трафик постепенно. Что вы можете сделать, так это контролировать трафик самостоятельно: docs.microsoft.com/en-us/azure/app-service/… Здесь есть две разные вещи: одна — это диспетчер трафика как служба, а другая — встроенная подкачка в службах приложений.
Как упомянул Эрндоб, если ваши требования подходят, вы можете направить определенный процент (0–100) трафика на определенные слоты. После сохранения настройки указанный процент клиентов случайным образом направляется в нерабочий слот. Кроме того, весь рабочий процесс замены слотов развертывания можно автоматизировать, настроив автоматическую замену, когда проверка перед заменой не требуется. Обратите внимание, что после замены слот с ранее подготовленным приложением теперь имеет предыдущее рабочее приложение.
Привет, Эрндоб, спасибо за ответ, я хотел подтвердить, что мы обязаны постепенно переводить трафик с синего на зеленый?