nginx的連線都是一對一的,想改成一對多,比較麻煩,所以曾經看完了nginx**想改成一對多,我還是沒改成,後來改變了一下思路想到乙個更簡單的方案,而且不失併發效能,還容易控制,下面先給出下面的圖:
簡單說下:上面這個圖指的是乙個伺服器上的,nginx用來承接大併發,然後的一對一的連線,隨機發給後邊的服務,程序1,程序2.。。。,這個通訊別用埠,埠會占用埠資源,我用unix域,然後程序1,程序2....,我看成是第一層程序,他們負責合併本程序的相同流名稱的流,這個時候程序1和程序2中還可能存在相同的流名稱,然後再根據流名稱做hash演算法,分配到程序n,這個程序n也可能是多個程序,但是這第二層的程序每個程序中的流都是不同的了,經過第二層的合併,最後乙個流名稱只產生乙個後端的連線出來了,去連源就可以了。
這裡解釋一下:為什麼我不直接在nginx hash不同的流名稱到第一層程序呢,這裡主要考慮有的流客戶端量比較大,乙個程序可能不均勻,主要是負載均勻考慮,by 一休摸魚。
高併發之請求合併
應用場景redis官方介紹,redis單機讀寫效能12萬 s,批量處理能達到70w 秒。不管是快取還是資料庫,都有批量處理能力。當系統達到瓶頸時,才充分考慮壓榨效能。適用於電商雙十一,特定高併發場景。思路1 乙個使用者請求到來時,將請求放在乙個佇列中,單執行緒定時任務10ms從佇列中取資料進行處理。...
高併發下的nginx優化
網際網路分布式架構設計,提高系統併發能力的方式主要有兩種 垂直擴充套件 scale up 與水平擴充套件 scale out 垂直擴充套件 提公升單機處理能力。垂直擴充套件的方式又有兩種。增強單機硬體效能 提公升單機架構效能 水平擴充套件 增加伺服器,集群。在網際網路業務發展非常迅猛的早期,如果預算...
nginx高併發配置
nginx配置及說明 worker processes 8 nginx 程序數,建議按照cpu 數目來指定,一般為它的倍數。worker cpu affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000...