Связь между HTTPD и сервером Glassfish

В настоящее время Glassfish Server находится за сервером HTTP Apache. Сервер Glassfish предоставляет бизнес-приложения вместе со статическим контентом.

Идея состоит в том, чтобы позволить серверу Apache HTTPD предоставлять статический контент вместо Glassfish, как в текущем проекте. Статическое содержимое - это файлы порядка нескольких МБ. Основная причина, по которой это не оригинальный дизайн, заключается в том, что файлы должны быть разрешены для загрузки только в том случае, если СОСТОЯНИЕ развернутого приложения Glassfish имеет значение ENABLED (Service Unlock - архитектура SOA).

У меня есть несколько идей для реализации этого. На данный момент мне нужно подтверждение, если это выполнимо.

Предположим, что статический контент предоставляется Apache HTTPD, ниже приведены идеи для реализации

1) Возможна ли связь между HTTPD и Glassfish (mod_jk?). Если да, могу ли я передавать пользовательские сообщения из glassfish в HTTPD, указывающие состояние приложения, чтобы разрешить / запретить клиентам доступ к статическому контенту. Я не хочу зависеть от HTTP-ответов (404), так как они связывают мой ресурс Glassfish (пул потоков), поскольку число клиентов, запрашивающих загрузку, может быть в диапазоне тысяч. Идея состоит в том, что Glassfish время от времени указывает ДА ​​/ НЕТ (всякий раз, когда происходит изменение) на сервер HTTPD. В зависимости от этого состояния, apache записывает это состояние где-то. Когда клиент запрашивает статический контент, HTTPD ссылается на записанное состояние и принимает решение, может ли он разрешить клиентам доступ к статическим файлам.

2) Следующая опция - это простой механизм ProxyPass из HTTPD, и в зависимости от ответов HTTP от Glassfish принимается решение, может ли клиент иметь доступ к статическим файлам. Как указывалось ранее, это связывает мои ресурсы Glassfish и не желательно.

3) Я использую промежуточное ПО JMS для передачи сообщений между glassfish и клиентами (другой клиент). Может ли Apache прослушивать очередь JMS. Если да, тогда я могу передать сообщения "Да / Нет" между Glassfish и HTTPD в запрос Разрешить / Запретить клиент для статических файлов.

4) Настройте сервер Glassfish для предоставления статического содержимого, настроив пул потоков (согласно текущей реализации). Наименее желательно.

0 ответов

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