Как реализовать обратный прокси?

Я работаю над созданием веб-приложения, которое действует как балансировщик нагрузки, распределяя запросы, сделанные на странице, на несколько серверов и возвращая ответы пользователю. Я много читал, но думаю, что моя идея может быть ошибочной, поэтому мне нужна помощь.

Идея состоит в том, чтобы иметь веб-форму, которая использует AJAX и PHP для обработки произвольного пользовательского ввода, а затем сигнализирует демону/процессу, запущенному на сервере, для обработки этого запроса. Я не уверен, на каком языке я буду писать демона (идеи?).

Демон, в свою очередь, отправляет запрос на соответствующий внутренний сервер и доставляет ответ обратно на страницу. Демон также позволяет внутренним серверам устанавливать исходящие соединения с главным сервером.

Основной сервер надеюсь будет располагаться на VPS, но при необходимости на выделенном сервере. Внутренние серверы уже существуют.


Плохая ли это идея? и если да, то как я могу улучшить свой дизайн?


person tbridge    schedule 27.01.2011    source источник


Ответы (1)


Не уверен, что понимаю, что именно вам нужно, но попробуйте следующее для прокси (если вы используете apache). Возможно, вам придется включить прокси-модули в httpd.conf.

<VirtualHost 192.168.1.2:80>
      ServerName mydomain.com
      ProxyRequests Off
      <Proxy *>
           Order deny,allow
           Allow from all
      </Proxy>
      ProxyPass / http://192.168.1.4/
      ProxyPassReverse / http://192.168.1.4/
</VirtualHost>

Более подробную информацию вы можете найти здесь: http://httpd.apache.org/docs/1.3/mod/mod_proxy.html

Идея языка для демона? Почему бы не использовать питон. Python немного более эффективен с точки зрения памяти по сравнению с PHP, и в нем есть кое-что интересное для создания процесса-демона.

person bandam    schedule 27.01.2011