Мы наблюдаем некоторые странные вещи при запуске Tomcat / Java в среде службы приложений Azure.Позвольте мне начать с некоторых деталей:
- Мы используем изолированную среду служб приложений в Azure для запуска некоторых веб-приложений
- Используя DevOps Azure (VSTS), мы разворачиваем наши службы приложенийк этим веб-приложениям
- Каждый сервис состоит из файла jar, web.config и yml для конфигурации
- Файл web.config настроен для запуска java.exe с использованием узла
httpPlatform
Теперь, хотя и не очень быстро, все это работает, как и следовало ожидать.Сервис загружается, работает и хорошо реагирует.Проблемы начинают появляться, когда мы начинаем масштабирование.Запустив два экземпляра в нашей тестовой среде, мы заметили две вещи:
- В какой-то момент новая версия, казалось, работала только на одном из двух экземпляров.В другом экземпляре все еще был предыдущий выпуск, хотя он и думал, что процесс развертывания завершен.
- Во время одного из сеансов отладки мы заметили, что в одном из экземпляров было запущено два процесса java.exe.
В ответ на вторую проблему мы решили исправить эту проблему, выполнив команду stop & start из нашего конвейера.Похоже, это решает проблемы, но мы бы не стали использовать этот подход, так как нам понадобится нулевое время простоя развертывания где-то по пути (и это решение похоже на обходной путь с самого начала).
Итак, теперь актуальный вопрос: есть ли кто-нибудь, кто имеет опыт работы с Tomcat в Azure, и кто может поделиться некоторыми советами и рекомендациями?Кроме того, если у вас есть какие-либо указания относительно того, какие настройки мы могли бы попытаться изменить, чтобы добиться улучшения, это также было бы очень полезно.Я также заинтересован в реальном опыте работы с упакованной версией tomcat по сравнению с запущенной платформой и в какой степени это может повлиять на это поведение.