您好,登錄后才能下訂單哦!
縱向分離(分層后分離):將業務處理流程上的不同部分分離部署,實現系統伸縮性。
橫向分離(業務分割后分離):將不同的業務模塊分離部署,實現系統伸縮性。
將不同功能分離部署可以實現一定程度的伸縮性,但是隨著網站的訪問量逐步增加,即使分離到最小粒度的獨立部署,單一的服務器也不能滿足業務規模的要求。因此必須使用服務器集群,即將相同服務部署在多態服務器上構成一個集群整體對外提供服務。
利用 HTTP 重定向協議實現負載均衡。
這種負載均衡方案的優點是比較簡單。缺點是瀏覽器需要兩次請求服務器才能完成一次訪問,性能較差:重定向服務器自身的處理能力有可能成為瓶頸,整個集群的伸縮性規模有限;使用 HTTP 302 響應碼重定向,可能使搜索引擎判斷為 SEO 作弊,降低搜索排名。
利用 DNS 處理域名解析請求的同時進行負載均衡處理的一種方案。
在 DNS 服務器中配置多個 A 記錄,如:
114.100.40.1 www.mysite.com114.100.40.2 www.mysite.com114.100.40.3 www.mysite.com
每次域名解析請求都會根據負載均衡算法計算一個不同的 IP 地址返回,這樣 A 記錄中配置的多個服務器就構成一個集群,并可以實現負載均衡。
DNS 域名解析負載均衡的優點:
DNS 域名解析負載均衡的缺點:
大多數反向代理服務器同時提供反向代理和負載均衡的功能。
反向代理服務器的優點是部署簡單。缺點是反向代理服務器時所有請求和響應的中轉站,其性能可能會成為瓶頸。
在網絡層通過修改請求目標地址進行負載均衡。負載均衡服務器(網關服務器)在操作系統內核獲取網絡數據包,根據負載均衡算法計算得到一臺真實 Web 服務器 10.0.0.1,然后將目的 IP 地址修改為 10.0.0.1,不需要通過用戶進程。真實 Web 服務器處理完成后,響應數據包回到負載均衡服務器,負載均衡服務器再將數據包原地址修改為自身的 IP 地址(114.100.80.10)發送給瀏覽器。
IP 負載均衡在內核完成數據分發,所以處理性能優于反向代理負載均衡。但是因為所有請求響應都要經過負載均衡服務器,集群的最大響應數據吞吐量受制于負載均衡服務器網卡帶寬。
數據鏈路層負載均衡是指在通信協議的數據鏈路層修改 mac 地址進行負載均衡。
這種方式又稱作三角傳輸方式,負載均衡數據分發過程中不修改 IP 地址,只修改目的 mac 地址,通過配置真實物理服務器集群所有機器虛擬 IP 和負載均衡服務器 IP 地址一致,從而達到不修改數據包的源地址和目的地址就可以進行數據分發的目的,由于實際處理請求的真實物理服務器 IP 和數據請求目的 IP 一致,不需要通過負載均衡服務器進行地址轉換,可將響應數據包直接返回給用戶瀏覽器,避免負載均衡服務器網卡帶寬成為瓶頸。這種負載方式又稱作直接路由方式。
在 Linux 平臺上最好的鏈路層負載均衡開源產品是 LVS(Linux Virtual Server)。
負載均衡服務器的實現可以分為兩個部分:
負載均衡算法通常有以下幾種:
一致性 HASH 算法
一般而言,Nosql 不支持 SQL 和 ACID,但是強化了對于高可用和伸縮性的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。