服務器集群指的是許多服務器的聚合,以執行相同的服務,在客戶端看來,好像只有一個服務器。集群可以使用多臺計算機進行并行計算,實現高計算速度,也可以使用多臺計算機進行備份,使任何一臺機器仍然可以正常運行。一旦服務器上安裝并運行了群集服務,服務器就可以加入群集。集群操作可以減少單點故障的數量,實現集群資源的高可用性。以下部分簡要描述了集群創建和集群操作中的節點行為。
集群服務設計的目的是提高服務器的性能,同時可以及時轉移障礙,提高服務器的可用性。因此,在集群服務器設計之初,必須充分考慮故障轉移方案。當一個應用程序或服務安裝在多個服務器上,這些服務器在出現故障時可以接管彼此的工作時,一個服務器接管故障服務器的工作的過程稱為“故障轉移”。如果一臺服務器變得不可用,另一臺或多臺服務器會自動接管故障服務器的工作并繼續處理任務。集群中的每臺服務器確定集群中的另一臺服務器作為其備用服務器,這可以在集群服務程序中預先設置。
一、故障轉移原理:在設計服務器集群之前明確了以上考慮事項之后,我們就可以了解服務器集群故障轉移的原理了。整個故障轉移過程主要涉及以下幾個方面。
1、同步狀態:在集群服務系統中,在正式接管活動服務器的工作之前,備用服務器的狀態應該與故障服務器的狀態同步,然后才能啟動事務。主要有三種不同的提問方法。
1)共享存儲:在共享存儲方法中,兩臺服務器都在共享存儲設備(如存儲區域網絡或雙主機磁盤陣列)上記錄其狀態。這樣,因為不需要狀態同步,所以可以立即進行故障轉移。這種同步方法還需要較短的切換時間和高可用性。
2)熱備用:在熱備用方式下,活動服務器內部狀態的更新會立即復制到備用服務器。因為備用服務器的狀態是活動服務器狀態的克隆,所以備用服務器可以立即成為活動服務器,并開始處理第五件事。顯然,這種跨越模式需要更短的切換時間和更高的可用性。
3)事務日志:在事務日志方法中,活動服務器在日志中記錄對其狀態的所有更改。同步實用程序定期處理此日志,以更新備用服務器的狀態,使其與活動服務器的狀態保持一致。當活動服務器出現故障時,備用服務器必須使用此同步實用程序來處理自上次更新以來事務每日狀態的任何增加。同步后,備用服務器成為活動服務器,并開始處理事務。這種同步方法需要很長的切換時間,服務器應用需要很長的暫停時間。
2、擴展故障轉移群集服務器:故障轉移集群中的可伸縮性通常是通過擴展集群中的單個服務器或向其添加更多功能來實現的,因此該集群系統的可伸縮性非常有限。
3、檢測故障:在充分考慮上述因素后,必須設計故障檢測方案。要使備用服務器處于活動狀態,必須嘗試確定活動服務器是否不再正常工作。通常,系統使用以下一般類型的心跳機制之一來實現這一點。
A.發送信號:對于發送信號,活動服務器以定義的時間間隔向備用服務器發送指定的信號。如果備用服務器在某個時間間隔內沒有接收到信號,則確定活動服務器出現故障,并承擔活動角色。例如,活動服務器每30秒向備用服務器發送一次狀態消息。如果設置的備用服務器注意到它在90s (3個時間間隔)內沒有收到任何狀態消息,它將接管活動服務器的工作。
B.接收信號:為了接收信號,備用服務器向活動服務器發送請求。如果活動服務器沒有響應,備用服務器將重復該請求特定次數。如果Spring活動服務Jeep仍然不響,那么備用服務器將接管活動服務器的工作。例如,備用服務器可能每分鐘向活動服務器發送一條獲取客戶詳細信息消息。如果備用服務器發送“獲取客戶詳細信息”請求三次,但沒有收到響應,則備用服務器將接管活動服務包的工作。
集群可以使用多級信號。例如,集群可以在服務器級別使用一個發送信號,在應用程序級別使用一組接收信號。在這種配置中,只要備用服務器啟動并連接到網絡,活動服務器就會向備用服務器發送心跳消息。這些心跳消息以頻繁的時間間隔發送(例如每個Ss),并且備用服務器可以被編程為僅在沒有接收到兩個心跳消息時接管活動服務榕樹的工作。也就是說,備用服務器將檢測到故障,并在活動服務器出現故障后的10s內啟動備用進程。
4、確定活動服務器:對于給定的一組應用程序,只有一個活動服務器是極其重要的。如果多個服務器都像活動服務器,通常會導致數據損壞和死鎖。解決這個問題的一個常見方法是使用“活動令牌”概念的變體。從最簡單的層面來說,令牌是一個標志,它將服務器標識為應用程序的活動服務器。對于每組應用程序,只有一個活動令牌,因此只有一臺服務器可以擁有該令牌。當服務器啟動時,它會驗證其伙伴是否有活動令牌。如果是,服務器將作為備用服務器啟動。如果它沒有檢測到活動令牌,它將獲得活動令牌的所有權,并作為活動服務器啟動。當備用服務器成為活動服務器時,故障轉移過程會將活動令牌交給備用服務器。
在大多數情況下,當備用服務器成為活動服務器時,它對它所支持的應用程序或用戶是透明的。如果事務處理過程中出現故障,您可能需要重試事務處理才能成功完成。這使得在編寫程序代碼時保持故障轉移過程透明變得更加重要。
此外,大多數服務器使用IP地址進行通信。因此,為了使故障轉移成功,基礎架構必須能夠支持JP地址從一臺服務器到另一臺服務器的傳輸。例如,您可以使用支持IP地址傳輸的網絡交換機(將故障機器的IP地址傳輸到接管服務器)。如果系統的基礎架構不支持此傳輸功能,則可能需要使用負載平衡群集而不是故障轉移群集。
二、故障轉移解決方案注意事項:群集服務器故障轉移方案涉及許多重要方面。設計集群服務器基礎設施時,至少應考慮以下因素。
1.添加硬件可能會增加解決方案的成本和復雜性。例如,需要為新硬件或更強大的硬件提供開發和測試費用,以便應用程序可以充分利用更強大的環填充。此外,管理更復雜的環境還需要增加維護和培訓成本。2.用戶希望這些應用程序可以使用,并在使用時做出響應。3.應用失敗可能會造成嚴重的經濟損失。4.不間斷的連續運營越來越成為常見的業務需求。5.應用程序基礎架構中的所有系統都需要維護。每個系統都必須能夠適應硬件和軟件升級,而不會導致應用程序停止運行。例如,需要發布補丁來修復在提供應用程序的服務器上運行的組件的安全性。如果只有這個服務欄,應用程序將停止運行。如果服務器是一系列服務器中的一個,只有服務器會停止運行,應用程序不會停止運行。租用便宜服務器請到夢飛科技官網咨詢了解。