1.1.4 以Nginx作為負(fù)載均衡器
Nginx在作為負(fù)載均衡器的同時(shí)也是反向代理服務(wù)器,其配置語法相當(dāng)簡單,可以按輪詢、ip_hash、url_hash、權(quán)重等多種方法對后端服務(wù)器做負(fù)載均衡,同時(shí)還支持后端服務(wù)器的健康檢查。另外,它相對于LVS來說比較有優(yōu)勢的一點(diǎn)是,由于它是基于第7層的負(fù)載均衡,是根據(jù)報(bào)頭內(nèi)的信息來執(zhí)行負(fù)載均衡任務(wù)的,所以對網(wǎng)絡(luò)的依賴性比較小,理論上只要可以正確執(zhí)行ping命令就能夠?qū)崿F(xiàn)負(fù)載均衡。在國內(nèi),Nginx不僅可以作為一款性能優(yōu)異的負(fù)載均衡器,也可以作為一款適用于高并發(fā)環(huán)境的Web應(yīng)用軟件,在新浪、金山、迅雷在線等大型網(wǎng)站都有相關(guān)應(yīng)用。其作為負(fù)載均衡器的優(yōu)點(diǎn)如下:
·配置文件非常簡單,風(fēng)格跟程序一樣通俗易懂。
·成本低廉。Nginx為開源軟件,可以免費(fèi)使用,而購買F5 Big-IP、NetScaler等硬件負(fù)載均衡交換機(jī)則需要十多萬甚至幾十萬元。
·支持重寫規(guī)則,能夠根據(jù)域名、URL的不同,將HTTP請求分發(fā)到不同的后端服務(wù)器群組上。
·有內(nèi)置的健康檢查功能。如果Nginx Proxy后端的某臺Web服務(wù)器宕機(jī)了,不會影響前端訪問。
·節(jié)省帶寬,支持GZIP壓縮,可以添加瀏覽器本地緩存的Header。
·穩(wěn)定性高,用于反向代理,宕機(jī)的概率微乎其微。通過跟蹤一些已上線的網(wǎng)站和系統(tǒng),我們發(fā)現(xiàn)在高并發(fā)的情況下,Nginx作為負(fù)載均衡器/反向代理宕機(jī)的次數(shù)幾乎是零。
·目前它更重要的用途就是結(jié)合Lua用于一些高并發(fā)的Web應(yīng)用場景。例如用作WAF或企業(yè)級API Gateway網(wǎng)關(guān)(例如Kong)等,還有就是會進(jìn)行一些業(yè)務(wù)邏輯處理,甚至用于比較耗CPU的模板渲染的業(yè)務(wù)場景(例如京東的列表頁/商品詳情頁)。
- 電腦組裝與系統(tǒng)安裝
- Kubernetes修煉手冊
- Getting Started with oVirt 3.3
- Red Hat Enterprise Linux 8系統(tǒng)管理實(shí)戰(zhàn)
- Hands-On DevOps with Vagrant
- Ubuntu Linux操作系統(tǒng)
- 8051軟核處理器設(shè)計(jì)實(shí)戰(zhàn)
- STM32庫開發(fā)實(shí)戰(zhàn)指南:基于STM32F4
- Linux設(shè)備驅(qū)動開發(fā)
- Distributed Computing with Go
- CentOS 6 Linux Server Cookbook
- Linux網(wǎng)絡(luò)操作系統(tǒng)項(xiàng)目教程(RHEL 7.4/CentOS 7.4)(第3版)(微課版)
- Agile IT Security Implementation Methodology
- Learn Quantum Computing with Python and IBM Quantum Experience
- Implementing Cloud Design Patterns for AWS(Second Edition)