JavaEE кластер против PaaS
Я занимаюсь разработкой веб-приложений на Java с нескольких лет, развертывая на Tomcat. Недавно я и мои клиенты разозлились из-за простоев из-за аппаратного сбоя на сервере, а также из-за необходимости повторного развертывания приложения каждый раз, когда я делаю исправление.
Я хочу, чтобы следующее приложение, которое я разработаю, было очень доступно. Прямо сейчас я чувствую, что у меня есть два варианта:
1- Создайте приложение без сохранения состояния и используйте PaaS, например heroku, или, возможно, управляйте несколькими экземплярами на моих собственных серверах
2. Создайте приложение с состоянием с JavaEE и разверните его на кластере серверов приложений.
Как разработчик, я бы очень хотел сосредоточиться на разработке приложений, а не на инфраструктуре. Таким образом, облачный сервис без сохранения состояния выглядит как путь.
С другой стороны, я действительно люблю приложения с отслеживанием состояния, потому что мне намного легче разрабатывать таким образом.
Итак, вот вопрос: насколько сложно управлять и настраивать кластер JavaEE? Я бы, наверное, выбрал wildfly в качестве сервера приложений. Я слышал от многих людей, что это действительно может быть проблемой в заднице: управление сервером linux, настройка AS, устранение неполадок, управление кластером и т. Д.
Действительно ли требуется опытный парень для управления кластером для корпоративных сервисов? Однажды я подумал, что это будет так же просто, как установить AS на машину, выполнить несколько минут настройки, а затем просто запустить ее.
Спасибо за Ваш интерес.
1 ответ
Извините, пользователь 3832044, но я не понимаю вашу концепцию приложений без сохранения состояния и с сохранением состояния. Кажется, что ваша проблема - проблема инфраструктуры, а не проблема приложения.
Итак, отвечая на ваш вопрос... "Насколько сложно управлять и настраивать кластер JavaEE?" Так сложно, как построить плот. Если вы знаете, что делать, это не сложно. Все зависит от ваших навыков системного администратора.
Есть много способов решить вашу проблему, и вам даже не нужно уходить от Tomcat, поскольку он поддерживает кластеризацию и балансировку нагрузки.
Я бы порекомендовал вам прочитать о высокой доступности, чтобы получить общие знания по этой теме, а затем применить их к Tomcat.
Чтобы дать вам пример. У вас может быть пара экземпляров tomcat с Apache http, выполняющим балансировку нагрузки перед вашими экземплярами. Вы можете остановить один из экземпляров и развернуть новое приложение, а затем поменять местами экземпляры и обновить второй.
Пожалуйста, имейте в виду, что этот пример - очень простой процесс для простой среды. Вещи могут стать действительно волосатыми в более сложных средах.
Вот краткое руководство, которое поможет вам с балансировкой нагрузки. http://www.ntu.edu.sg/home/ehchua/programming/howto/ApachePlusTomcat_HowTo.html