nginx負(fù)載均衡原理是什么?負(fù)載均衡在服務(wù)端開發(fā)中是一個(gè)比較重要的特性。因?yàn)镹ginx除了作為常規(guī)的Web服務(wù)器外,還被大規(guī)模的用于反向代理前端。
Nginx的異步框架可以處理很大的并發(fā)請(qǐng)求,把這些并發(fā)請(qǐng)求hold住之后,就可以分發(fā)給后臺(tái)服務(wù)端來做復(fù)雜的計(jì)算、處理和響應(yīng),并且在業(yè)務(wù)量增加的時(shí)候可以方便地?cái)U(kuò)容后臺(tái)服務(wù)器。
對(duì)于常用的HTTP負(fù)載均衡,主要先定義一個(gè)upstream作為backend group,然后通過proxy_pass/fastcgi_pass等方式進(jìn)行轉(zhuǎn)發(fā)操作,其中fastcgi_pass幾乎算是Nginx+PHP站點(diǎn)的標(biāo)配了。
Nginx中有會(huì)話一致性是通過sticky開啟的,會(huì)話一致性和之前的負(fù)載均衡算法之間并不沖突,只是需要在第一次分配之后,該會(huì)話的所有請(qǐng)求都分配到那個(gè)相同的backend上面。目前支持三種模式的會(huì)話一致性:Cookie Insertion、Sticky Routes、Learn。
負(fù)載均衡不是nginx獨(dú)有,apache也有,但性能可能不如nginx。多臺(tái)服務(wù)器提供服務(wù),但域名只解析到主服務(wù)器,而真正的服務(wù)器IP不會(huì)被ping下即可獲得,增加一定安全性。
upstream里的IP不一定是內(nèi)網(wǎng),外網(wǎng)IP也可以。不過經(jīng)典的案例是,局域網(wǎng)中某臺(tái)IP暴露在外網(wǎng)下,域名直接解析到此IP。然后又這臺(tái)主服務(wù)器轉(zhuǎn)發(fā)到內(nèi)網(wǎng)服務(wù)器IP中。某臺(tái)服務(wù)器宕機(jī)、不會(huì)影響網(wǎng)站正常運(yùn)行,Nginx不會(huì)把請(qǐng)求轉(zhuǎn)發(fā)到已宕機(jī)的IP上
以上就是域名頻道對(duì)于nginx負(fù)載均衡原理的介紹,實(shí)現(xiàn)負(fù)載均衡解決方案可點(diǎn)擊域名頻道負(fù)載均衡。