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

Другие вопросы по тегам