不用修改nginx的高並發合並回源架構


nginx的連接都是一對一的,想改成一對多,比較麻煩,所以曾經看完了Nginx代碼想改成一對多,我還是沒改成,后來改變了一下思路想到一個更簡單的方案,而且不失並發性能,還容易控制,下面先給出下面的圖:

簡單說下:上面這個圖指的是一個服務器上的,Nginx用來承接大並發,然后的一對一的連接,隨機發給后邊的服務,進程1,進程2.。。。,這個通信別用端口,端口會占用端口資源,我用unix域,然后進程1,進程2....,我看成是第一層進程,他們負責合並本進程的相同流名稱的流,這個時候進程1和進程2中還可能存在相同的流名稱,然后再根據流名稱做hash算法,分配到進程n,這個進程n也可能是多個進程,但是這第二層的進程每個進程中的流都是不同的了,經過第二層的合並,最后一個流名稱只產生一個后端的連接出來了,去連源就可以了。

這里解釋一下:為什么我不直接在nginx hash不同的流名稱到第一層進程呢,這里主要考慮有的流客戶端量比較大,一個進程可能不均勻,主要是負載均勻考慮,by 一休摸魚。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM