woonem
@woonem

Есть технология кластеризации. Как её оптимизировать?

Ситуация:
У сервера 1 белый IP. У сервера 2 серый IP. Сервер 1 - это бесплатный хостинг, по этому он ограничен: в php запрещено много нужных функций, в mysql можно иметь максимум две таблицы по 4 KB. Сервер 2 не ограничен, но находится за NAT'ом провайдера.

Решение - использовать такую технологию:
1. Пользователь отправляет запрос на хостинг (сервер 1) и ожидает ответа.
2. Хостинг (сервер 1) записывает запрос пользователя в таблицу и начинает постоянно её обновлять, ожидая ответа сервера 2.
3. Сервер 2 постоянно обновляет таблицу запросов и когда появляются новые запросы, записывает свой ответ в эту таблицу (если нет новых запросов, сервер 2 получает ошибку 304 Not Modified).
4. Хостинг (сервер 1) обнаруживает ответ в таблице и отправляет ответ пользователю.

Проблема:
Будет лучше, если хостинг (сервер 1) будет отправлять запрос серверу 2 напрямую, а не записывать его в таблицу, чтобы сервер 2 потом прочел. Но как это организовать средствами бесплатного хостинга - php, mysql и htaccess, если у сервера 2 серый IP?

Технология разрабается для хранения результатов индексирования поисковой машины на сервере с серым IP, а доступом к ней через хеш хостинга, так как у хостинга высокая скорость соединения с клиентом, а на сервер не хочется покупать белый ip, так как планируется частое перемещение сервера и каждый раз покупать будет неудобно, так-же планирую иметь не один сервер, а чем с портами возиться, каждый сервер на свой порт вешать, лучше будет написать на php небольшой туннель. Использовать программы для туннелирования не хочется, так как сервера могут быть с разными ОС и вообще это возня. Да и к тому же я пишу фреймворк и его пользователям очень понравится новая функция - это будет одна из его фишек (фреймворк не должен требовать никаких расширений, программ, плагинов и т.д., кроме обработчика php и любого http сервера - это другая из его фишек, да и на нем сверху стоит CMS для создания шаблонов и подключения виджетов и панель управления, благодаря которой не стоит париться с настройкой, сборкой, установкой, отладкой и т.д. приложений - это третья фишка).


Все вопросы по теме:

Как с помощью PHP на хостинге с «белым» IP сделать http туннель для подключения к серверу с «серым» IP, который за NAT'ом?
Как любыми способами получить http доступ к серверу с серым IP из интернета?
Есть технология кластеризации. Как её оптимизировать?
Как создать постоянное подключение для туннелирования с помощью php?
Не помешают ли мне тайм-ауты NAS при туннелировании?
Может ли php получать и сразу же обрабатывать часть запроса, не дожидаясь окончания получения запроса?
Может ли php отправлять информацию частями?

Самое свежее обсуждение.
  • Вопрос задан
  • 849 просмотров
Пригласить эксперта
Ответы на вопрос 3
Jump
@Jump
Системный администратор со стажем.
Это невозможно.
Ответ написан
RicoX
@RicoX
Ушел на http://ru.stackoverflow.com/
При куче ваших ограничений - никак, teamviewer использует собственные сервера чтоб коммутировать машины за NAT, без промежуточной точки с белым IP ничего не выйдет.
Ответ написан
vvpoloskin
@vvpoloskin
Инженер связи
Белый аддрес в инете - услуга. Оплачиваемая услуга. ЛЮБОЕ предложенное здесь решение подразумевает, что придется хоть немного, но потратиться. Вас же не удивляет, что за домашний интернет надо платить?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы