我們的網站已經開發出對實時更新的需求,並且我們正在考慮各種彗星/長輪詢解決方案。經過研究,我們已將nginx作爲4個龍捲風實例(託管在Amazon EC2上)的逆向代理。我們目前正在使用傳統的LAMP堆棧,並在PHP中編寫了大量的代碼。我們願意將我們的PHP代碼轉換爲Python以更好地支持此解決方案。這裏是我的問題:Apache/PHP到Nginx/Tornado/Python
假設四核處理器,是它確定爲nginx的到同一服務器4個龍捲風實例上運行,還是建議運行兩個單獨的服務器:一個用於nginx的和一個爲4龍捲風過程?
在Nginx之前使用HAProxy有沒有好處? Nginx不是很好地處理負載平衡嗎?
從我的研究中,Nginx似乎沒有很好的URL重定向模塊。是否優先使用Redis進行重定向?如果是這樣,Redis應該在Nginx之前,還是在後面?
大部分應用程序代碼不會涉及實時更新。此代碼包含多個數據庫查詢和文件系統讀取,因此它顯然不適用於非阻塞應用程序服務器。從我的研究中,我已經讀到阻塞問題只是通過擁有多個Tornado實例來緩解,而另一些人則建議使用單獨的應用服務器(例如Gunicorn/Django/Flask)來阻止呼叫。使用非阻塞服務器時處理阻塞呼叫的最佳方式是什麼?
將我們的代碼從PHP轉換爲Python將是一個漫長的過程。在Nginx中同時運行Apache/PHP和Tornado是否可以接受?或者我們應該堅持使用語言(龍捲風與gunicorn/django/flask還是龍捲風本身)?
感謝您的快速響應! – xxjbmxx
1.)我們確實計劃使用nginx作爲反向代理。我只是好奇,如果在同一臺服務器上運行,nginx進程可能會消耗足夠的資源來收縮其中一個tornodo實例。 4。)你會推薦哪些python框架用於阻塞調用(如果django是不必要的)? – xxjbmxx
這絕對沒問題 - 你不會在一臺服務器上遇到nginx +龍捲風的麻煩。對於阻塞呼叫的簡單任務 - 看看Flask。如果您需要良好的管理員和簡單的數據庫模式操作工具,請使用django。 –