Я разрабатываю приложение, которое будет состоять из 3-4 служб, которые выполняются как отдельные процессы и связаны соответствующим IPC. Система будет иметь веб-интерфейс, и я хочу использовать любой веб-сервер.Существуют ли альтернативы CGI (и действительно ли мне это нужно)?
Веб-интерфейс должен быть доступен под некоторым URL-адресом, что позволяет иметь другие URL-адреса на одном и том же веб-сервере, делая совершенно разные вещи. Я планирую использовать путь ниже этого URL, чтобы указать, что должен делать веб-интерфейс. Он имеет возможности для использования другими приложениями через сеть и для взаимодействия с людьми в браузере.
экспромтом, я бы работать следующим образом:
- сделать веб-сервер запустить процесс CGI для каждого запроса он получает (как SetHandler в Apache)
- пусть CGI подключиться к IPC
- пусть это получить то, что ему нужно от серверных услуг
- пусть возвращение CGI HTML/XML и независимо HTTP статуса, основанный на ответах услуг
Теперь я хочу, чтобы избежать первых двух шагов, или если я не могу, избегаю второго, потому что я боюсь, что теряю производительность на ненужных служебных (запросы, поступающие из других приложений, могут быть частыми).
PHP, например, может открывать постоянные подключения к базе данных MySQL, которые выживают во время выполнения сценария и не нуждаются в повторном создании в следующий раз, хотя я не знаю, как они на самом деле это делают. Кроме того, насколько я понимаю, модули Apache загружаются один раз, когда сервер запускается, поэтому он может удалить первый шаг, но привяжет меня к Apache.
Итак, какие хорошие способы привязать обработчик для определенных URL-адресов к различным веб-серверам? Я не хочу обрабатывать HTTP, иначе я мог бы просто использовать настройку прокси-сервера для второго сервера, но, похоже, это так изобретательно-колесо. Если вы считаете, CGI - это хорошо, и у вас есть примеры, где он обрабатывает большое количество запросов подобной структуры, пожалуйста, дайте мне знать.