nginx集群_使用Nginx+Tomcat+keepalived 搭建高性能高可用性负载均衡集群
在互聯網項目中,往往面臨著高用戶量、高并發的問題,造成服務器的壓力非常大,特別是電商項目,以淘寶天貓為例,近年雙十一的成交量屢創新高,可想而知淘寶天貓的服務器面臨的并發量有多大,單一服務器肯定承受不住。這些互聯網項目的服務器一般都是采用集群部署的方式,實現負載均衡。
開始搭建之前,我們先來了解其中涉及到比較重要的一些概念。
一、反向代理
1.1什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。
簡單來說就是正向代理是針對你的客戶端,如下圖:
反向代理是針對服務器,如下圖:
1.2反向代理的配置
這里使用nginx作為反向代理服務器。
(1)在nginx主機修改nginx配置文件
upstream tomcat-portal {
server xxx(你的tomcat安裝的服務器的ip):8080;
}
server {
listen 80;
server_name xxxx(你項目訪問的域名);
location / {
proxy_pass http://tomcat-portal;
index index.html;
}
二、負載均衡
2.1什么是負載均衡
負載均衡 建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。
使用nginx+tomcat實現的負載均衡,Nginx作為負載均衡器,web發起額所有請求都到Nginx,Nginx再將請求轉發到Tomcat服務器,示意圖如下:
2.2負載均衡的配置
在3臺服務器上分別安裝Tomcat,在Nginx的配置文件中分別指向這3臺服務器的ip+Tomcat端口。
修改 Nginx配置文件:
upstream tomcat-portal {
server Tomcat1的ip:8080;
server Tomcat2的ip:8080;
server Tomcat3的ip:8080;
}
server {
listen 80;
server_name xxxx(你項目訪問的域名);
location / {
proxy_pass http://tomcat-portal;
index index.html;
}
}
通過以上配置,訪問項目時,3臺服務器將會共同分擔系統訪問的壓力。
三、高可用性
上面已經 說到Nginx作為負載均衡器,所有請求都先到Nginx,假如Nginx服務器宕機,那么后面的web服務器將無法提供服務。為了防止出現這種情況,需要建立一個備份機,主機和備份機都運行高可用(High Availability)監控程序,當主機宕機,備份機提供服務,主機好了之后,備份機釋放服務ip,主機再次提供服務。
keepalived 就是一款集群管理中保證集群高可用的一個軟件,用來防止單點故障。Keepalived 的作用是檢測 web 服務器的狀態,如果有一臺 web 服務器死機,或工作出現故障,Keepalived 將檢測到,并將有故障的 web 服務器從系統中剔除,當 web 服務器工作正常后 Keepalived 自動將 web 服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的 web 服務器。
在Nginx的主機和備份機上都安裝keepalived軟件。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的nginx集群_使用Nginx+Tomcat+keepalived 搭建高性能高可用性负载均衡集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oschina mysql limit_
- 下一篇: cad完全卸载教程_CAD室内设计中厨房