天天看點

叢集分為幾種,用的軟體分别是什麼?

叢集分為幾種,用的軟體分别是什麼?

補充:涉及的元件

1.1、apache

跨平台的網頁伺服器,主要使用它做靜态資源伺服器,也可以做代理伺服器轉發請求

1.2、ngnix

高性能的 HTTP和反向代理伺服器,ngnix處理能力相當于apache的10倍。

1.3、lvs

Linux虛拟伺服器,可以實作LINUX平台下的簡單負載均衡

1.4、HAProxy

提供高可用性、負載均衡以及基于TCP和HTTP應用的代理,支援虛拟主機

1.5、keepalived

可以實作web伺服器的高可用(HA high availably)。它可以檢測web伺服器的工作狀态

1.6、memcached

一個高性能分布式記憶體對象緩存系統。用于對業務查詢資料緩存,減輕資料庫的負載。

1.7、terracotta

開源Java叢集平台,支援資料的持久化、session的複制以及高可用(HA)

1、高可用叢集:

當主伺服器故障時,備份伺服器能夠自動接管主伺服器的工作,并及時切換過去,以實作對使用者的不間斷服務高可用叢集解決的是保障使用者的應用程式持續對外提供服務的能力。

我們可以做前端使用lvs來做負載均衡,根據lvs的8種排程算法(可設定),分發請求到對應的web伺服器叢集上。lvs做雙機熱備,通過keepalived子產品能夠達到故障自動轉移到備份伺服器,不間斷提供服務,結構如圖keepalived+lvs (說明:常用于lvs的高可用)

叢集分為幾種,用的軟體分别是什麼?

2、負載均衡叢集

處理高并發帶來的系統性能問題,最終大家都會使用負載均衡機制。它是根據某種負載政策把請求分發到叢集中的每一台伺服器上,讓整個伺服器群來處理網站的請求。

一般在WEB端使用的負載均衡比較多的HAProxy+keepalived+nginx;

資料庫mySQL叢集使用Lvs+keepalived+mysql實作。因為HAProxy和nginx一樣是工作在網絡7層之上,并且前者彌補了nginx的一些缺點如session的保持,cookie的引導等,且它本身是個負責均衡軟體,處理負載均衡上面必然優于nginx;lvs比較笨重,對于比較龐大的網絡應用實施比較複雜,雖然它運作在網絡4層之上,僅做分發沒有流量産生,但是它不能做正則處理也不能也不能做動靜分離,是以一般用lvs+keepalived或heatbeat做資料庫層的負載均衡。

3、高性能叢集

通過以叢集開發的并行應用程式,解決複雜的科學問題

Nginx+Tomcat搭建高性能負載均衡叢集

繼續閱讀