2013-07-11 42 views
0

我決定用Python編寫我的移動應用程序的webservices。 將有大約10個Web服務,這將不得不做網絡抓取和返回JSON數據。Python中的webservices:最輕和最高效的解決方案

我想弄清楚最好的解決方案。

我一直在想使用NGINX + uWSGI +燒瓶。

但我發現Flask有一些我不需要的東西,例如Jinja2模板系統。

剛纔使用的是Werkzeug,這是Flask使用的WSGI實用程序庫? 與Werkzeug而不是整個Flask相比,服務器效率會更高嗎?

你有什麼建議嗎?

+1

老實說,只是選擇一個看起來不錯的框架,並去。你在思考並試圖在問題出現之前解決問題。 – edhedges

+0

我已經有700,000個應用程序的用戶,他們的webservices是用PHP編寫的,所以我試圖找到一個非常有效的解決方案。 –

+0

@DanieleB如果你設法在PHP中維護一個這麼大的應用程序,它將成爲任何Python框架中的蛋糕。這不應該是一個尖刻的評論,我是認真的。 –

回答

2

有很多選擇。雖然,你提到有很多用戶,你需要非常有效的解決方案。

有考慮到這一點,可以考慮使用Tornadonginx作爲負載平衡器,即請求轉發給您的龍捲風服務器:

通過使用非阻塞網絡I/O,龍捲風可以擴展到幾十 數以千計的開放連接。這個框架與大多數主流web服務器框架 (當然也包括大多數Python框架)截然不同,因爲它是非阻塞的,並且相當快速。因爲它是非阻塞的並使用epoll或kqueue,所以它可以處理數千個同時存在的連接,這意味着該框架非常適合實時Web服務。


同時建立一個網上商店有作爲的MongoDB數據庫,使用龍捲風和MongoDB的異步蟒蛇司機與它通信,我親自使用這個組合,稱爲motor。隨意問任何關於這個選項的問題。

希望有所幫助。