У меня есть приложение, зависящее от BlazeDS и Oracle Application Express, для которых требуется использование Tomcat или аналогичного. У меня два следующих Linux-сервера:
(1) База данных Oracle 11G
(2) Веб-сервер Apache
Кроме того, моему приложению требуются программы на Java и C в основном для обработки большого количества чисел.
Мой первый вопрос: на каком сервере разместить логику приложений Java и C? Это должен быть сервер базы данных или веб-сервер? Или это зависит ...?
Мой второй вопрос: на каком сервере разместить Tomcat (всегда ли он находится на веб-сервере или зависит от ответа на первый вопрос)?
Был бы признателен за и против, если есть более одной возможности.
Обычно это происходит на третьем сервере приложений.
Для Tomcat в типичной корпоративной среде это будет: Обратный прокси Apache -> Сервер приложений Tomcat <-> Сервер базы данных
Если вы легковесны и не нуждаетесь во многих ограничениях на веб-уровне, вы всегда можете просто использовать интерфейс напрямую с соединителем HTTP или HTTPS на Tomcat (используя APR или встроенный соединитель Coyote).
Tomcat может работать на любом сервере (или на совершенно другом). Я бы предпочел разместить Tomcat и материалы C на веб-сервере и предоставить серверу базы данных всю память и процессор для его использования. Если код Java и C является узким местом, добавьте третий сервер для Tomcat. Я не люблю использовать серверы баз данных в качестве многофункциональных серверов, если нет выбора. Пока входящий трафик и обработка чисел могут обрабатываться веб-сервером, пусть он будет сервером «приложений».
Я против размещения всего, что вам не нужно, на сервере базы данных. Поместите его на веб-сервер, если у вас еще нет другого сервера.