2012-02-03 63 views
0

我目前正在使用Java和PrimeFaces在Google App Engine中開發一個Web應用程序。我必須訪問遠程MySQL服務器,我的客戶網站的數據庫。本網站包含我的應用程序需要的所有數據。如何管理Apache Web服務器和Google App Engine之間的HTTP通信?

我搜索了網頁,發現沒有直接的方法可以通過Google應用引擎訪問任何數據庫。 因此,我決定在Web服務器上創建一個PHP腳本,它將代表MySQL服務器接受SQL查詢作爲HTTP請求,並將返回的數據作爲HTTP響應發送。 (當然加密!) 如何通過HTTP從PHP Web服務器向Google App Engine發送大型結果集?

我在這裏面臨的問題是,儘管我可以設法通過PHP獲取HTTP請求。我如何將它們發送回去,只是沖洗不會這樣做,以及如何將它們重定向回Google App Engine的我的應用程序。

謝謝!

+1

爲什麼「只是沖水不行」?向我們提供有關您的問題的更多細節,以及具體是什麼「不會做」。 – 2012-02-03 10:41:16

回答

1

您可以使用UrlFetch api將來自appengine的請求發送到您的MySQL服務器。你會得到一個迴應,並可以直接在appengine中解析它。

您可以在appengine應用程序中設置您的MySQL服務器可以通過請求觸發的servlet。你的MySQL服務器可以發送一個請求(你的php GET函數)給yourapp.appspot.com/servletpath,它將啓動你的appengine servlet。 Appengine可以從那裏返回響應。

+0

哦!感謝您的回覆..是的,我可以做我所做的PHP腳本,也可以在Google App Engine中回寫。再次謝謝指出我和UrlFetch Api – LalakaJ 2012-02-03 23:53:20

0

如果數據集太大而無法一次傳輸,那麼只需通過爲查詢添加一個範圍限制來將它分割爲多個請求。還可以使用任務隊列將此作業分成多個任務。在appengine上通常的做法是將所有需要太長/太大的事情分解成幾個任務。分而治之。

+0

你能解釋一下這一點嗎!你如何將你的響應分成幾個PHP響應。有沒有任何方法或功能來做到這一點?我認爲這是另一個需要發佈的問題,值得嗎? – LalakaJ 2012-02-03 23:56:12

+0

如何爲查詢添加範圍限制?你的意思是SQL LIMIT函數嗎? – LalakaJ 2012-02-04 00:34:45

+0

是的我的意思是你應該使用LIMIT,並且不要求太多的數據。 – Ski 2012-02-04 09:10:01

相關問題