Как мне управлять HTTP-связью между веб-сервером Apache и Google App Engine? - PullRequest
0 голосов
/ 03 февраля 2012

В настоящее время я занимаюсь разработкой веб-приложения в Google App Engine с использованием Java и PrimeFaces.Я должен получить доступ к удаленному серверу MySQL, базе данных сайта моих клиентов.Этот веб-сайт содержит все данные, которые требуются моему приложению.

Я выполнил поиск в Интернете и обнаружил, что прямого доступа к любой базе данных с помощью механизма приложений Google нет.Поэтому я решил создать на веб-сервере сценарий PHP, который будет принимать запросы SQL в виде запросов HTTP от имени сервера MySQL и отправлять возвращаемые данные в виде ответа HTTP.(Зашифровано, конечно!) Как я могу отправить большой набор результатов по HTTP с веб-сервера PHP на Google App Engine?

Проблема, с которой я здесь сталкиваюсь, заключается в том, что, хотя мне удается получить запрос HTTPчерез GET в PHP.Как мне отослать их обратно, просто сбросить не получится, и как перенаправить их обратно в мое приложение Google App Engine, в частности.

Спасибо!

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Вы можете использовать API UrlFetch для отправки запросов из appengine на ваш сервер MySQL.Вы получите ответ и сможете разобрать его непосредственно в appengine.

Вы можете настроить сервлеты в своем приложении appengine, которые ваш сервер MySQL может запускать с запросами.Ваш сервер MySQL может отправить запрос (функция php GET) на yourapp.appspot.com/servletpath, который запустит ваш сервлет appengine.Appengine может вернуть оттуда ответ.

0 голосов
/ 03 февраля 2012

Если набор данных слишком велик для передачи одним куском, просто разбейте его на несколько запросов, добавив ограничение диапазона к вашему запросу.Также используйте очередь задач, чтобы разделить эту работу на несколько задач.Обычно в appengine принято разбивать все, что занимает слишком много времени или слишком много, на несколько задач.Разделяй и властвуй.

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