web應用如何做高可用
隨著越來越多的關鍵任務應用程式遷移到雲中,使應用程式具有高可用性變得至關重要。
由於某種原因無法使用的應用程式,web伺服器關閉,資料庫關閉等都意味著使用者損失,收入損失,這可能對您的企業造成毀滅性的影響。
在此部落格中,我們研究了一些基本的高可用性概念。
可用性意味著您的使用者可以使用您的web應用程式。 我們都希望我們的應用程式有100%的時間可用。 但是由於各種原因,它不會發生。 高可用性的目標是使應用程式盡可能多地可用。 通常,可用性表示為每年應用程式可用時間的百分比。 有人會說可用性是99%或99.9%,依此類推。
冗餘和故障轉移是用於實現高可用性的技術。 通過擁有多個伺服器副本來實現冗餘。 您有兩個,而不是1個apache web伺服器。 一是活動伺服器。 監視活動伺服器,並且如果由於某種原因它發生故障,則將故障轉移到活動的第二台伺服器。 另一種方法是使用活動伺服器集群,就像在tomcat集群中一樣。 所有伺服器均處於活動狀態。 負載平衡器在群集的成員之間分配負載。 如果群集的一兩個成員出現故障,則不會影響使用者,因為其他伺服器會繼續處理。 當然,負載均衡器可能會成為故障點,並且需要冗餘和故障轉移。
如果要向雲啟動新的web應用程式,則可以從如下所示的基本體系結構開始,而無需考慮任何ha。
如下圖所示,您可以通過使用tomcat群集來新增冗餘和可伸縮性。 集群的前面是apache web伺服器+ mod_proxy,它將請求分發到各個伺服器。 mod_proxy是負載平衡器。
現在,應用程式可以水平擴充套件。 tomcat或應用程式故障不是問題,因為集群中還有其他伺服器。 但是我們引入了乙個新的失敗點,即負載均衡器。 如果apache + mod_proxy出現故障,則該應用程式不可用。
要了解有關設定tomcat集群的更多資訊,請參閱tomcat集群
要了解如何將負載平衡器與tomcat一起使用,請參閱tomcat的負載平衡
下圖顯示了如何消除故障點並提高負載均衡器的可用性。
您可以通過新增第二個apache + mod_proxy新增冗餘。 但是,只有一種是活動的。 第二個apache不處理任何請求。 它僅使用心跳之類的工具監視活動伺服器。 如果由於某種原因,主動伺服器關閉,則第二台伺服器知道,被動伺服器將接管ip位址並開始處理請求。 這是怎麼發生的?
這是可能的,因為在全世界發布的此應用程式的ip位址是由兩個apache共享的。 這被稱為虛擬ip位址。 2個伺服器共享虛擬ip時,tcp / ip僅將資料報路由到活動伺服器。 當主動伺服器出現故障時,被動伺服器告訴tcp / ip開始將打算用於此ip位址的資料報路由到它。 有tcp / ip命令可以讓伺服器啟動和停止偵聽虛擬ip位址。
心跳和ultramonkey等工具使您可以彼此保持心跳,並在必要時進行故障轉移。 使用心跳,每個伺服器上都有乙個心跳過程。 配置檔案包含有關虛擬ip位址,主動伺服器,被動伺服器的資訊。 網際網路上有幾篇有關如何設定心跳的文章。
總而言之,您可以使用開源工具構建高度可用的應用程式。 高可用性,冗餘,監視和故障轉移,虛擬ip位址的關鍵概念適用於任何服務,而不僅僅是web伺服器。 您可以使用相同的概念來使資料庫伺服器高度可用。
參考:來自jcg合作夥伴的
the khangaonkar report部落格上的manoj khangaonkar。
web應用如何做高可用
權重如何做高
一 整站頁面的結構 也就是我們通常所說的頁面結構,總的來說頁面結構應該尋求乙個原則,即先上後下,先左後右的原則。那麼有人會問了。為什麼那樣做呀,非得如許子做嗎?我在這裡也趁便教學一下,由於全部的搜刮引程式設計客棧擎在實驗搜刮任務的時間,它們的搜刮序次就是跟我如今如上所說的一樣的,以是我們應該照著上面...
keepalived 高可用,監控web伺服器狀態
一 keepalived 高可用,監控web伺服器狀態 4.1 安裝 兩台機器,一組一叢 yum install y keepalived主機器配置,虛擬ip為 192.168.1.100 vrrp instance vi 1 virtual ipaddress virtual server 192...
如何做web的訪問控制機制(ACL)?
對於乙個伺服器來說,我們不能讓隨隨便便乙個ip都可以訪問我們的伺服器,我們需要控制其訪問的ip 加入我們只能讓c類段網路訪問我們的伺服器,那麼我們就要對其進行訪問控制 我們讓c類段網路ip 192.168.1.1 與其掩碼 255.255.255.0 做乙個按位與,和訪問的ip與這個掩碼也做乙個按位...