Добрый день, Хабраспецы!
Возник вопрос об оптимальном способе связать Nginx и Java-приложение.
Дано:
Есть приложение на Java, которое принимает данные в виде строки первым аргументом (args[0]) и отдает через System.out.println(). На входе и на выходе строки в формате JSON.
Оно также работает с БД через activeJDBC и реализует бизнес-логику.
Сейчас выглядит в виде Executable jar
Есть связка ngnix+php-fpm.
Сейчас взаимодействие с web выглядит так:
1)Клиент отправляет по адресу
site/some.php POST запрос с JSON-ом
2)Nginx принимает запрос и оправляет запрос через fastCGI к PHP
3) PHP запускает jar (java -jar app.jar json)
4) Java-приложение отвечает
5) PHP ретранслирует ответ Nginx'у, а тот отвечает клиенту.
Все это работает весьма долго, так как каждый грузится JVM.
Вопрос:
Как избавиться от не особо нужной прослойки в виде PHP?,
При этом не прибегая к JavaEE-технологиям и тяжелым серверам типа GlassFish.
В идеале хотелось бы увидеть примеры с кодом, чтобы быстрее разобраться.