集群(cluster)和高可用性(HA)的概念

来源:http://www.cnblogs.com/liulei-LL/archive/2017/10/20/7699979.html
-Advertisement-
Play Games

轉載自:http://www.cnblogs.com/BlackWizard2016/p/5143816.html,侵刪,只為學習所用. 1.1 什麼是集群 簡單的說,集群(cluster)就是一組電腦,它們作為一個整體向用戶提供一組網路資源。這些單個的電腦系統就是集群的節點(node)。一個理 ...


轉載自:http://www.cnblogs.com/BlackWizard2016/p/5143816.html,侵刪,只為學習所用.

1.1 什麼是集群

  簡單的說,集群(cluster)就是一組電腦,它們作為一個整體向用戶提供一組網路資源。這些單個的電腦系統就是集群的節點(node)。一個理想的集群是,用戶從來不會意識到集群系統底層的節點,在他/她們看來,集群是一個系統,而非多個電腦系統並且集群系統的管理員可以隨意增加和刪改集群系統的節點。

  更詳細的說,集群(一組協同工作的電腦)是充分利用計算資源的一個重要概念,因為它能夠將工作負載從一個超載的系統(或節點)遷移到集群中的另一個系統上。其處理能力是與專用電腦(小型機,大型機)可相比,但其性價比高於專用電腦.常見的硬體有:結點,網路,存儲.軟體有:機群系統,節點系統,應用支撐軟體

Cluster集群技術可如下定義:一組相互獨立的伺服器在網路中表現為單一的系統,並以單一系統的模式加以管理。此單一系統為客戶工作站提供高可靠性的服務。大多數模式下,集群中所有的電腦擁有一個共同的名稱,集群內任一系統上運行的服務可被所有的網路客戶所使用。Cluster必須可以協調管理各分離的組件的錯誤和失敗,並可透明地向Cluster中加入組件。一個Cluster包含多台(至少二台)擁有共用數據存儲空間的伺服器。任何一臺伺服器運行一個應用時,應用數據被存儲在共用的數據空間內。每台伺服器的操作系統和應用程式文件存儲在其各自的本地儲存空間上。Cluster內各節點伺服器通過一內部區域網相互通訊。當一臺節點伺服器發生故障時,這台伺服器上所運行的應用程式將在另一節點伺服器上被自動接管。當一個應用服務發生故障時,應用服務將被重新啟動或被另一臺伺服器接管。當以上的任一故障發生時,客戶都將能很快連接到新的應用服務上。

1.2 集群系統的主要優點

(1)高可擴展性:

(2)高可用性HA:集群中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。

(3)高性能:負載平衡集群允許系統同時接入更多的用戶。

(4)高性價比:可以採用廉價的符合工業標準的硬體構造高性能的系統。

2.1 集群系統的分類

雖然,根據集群系統的不同特征可以有多種分類方法,但是一般把集群系統分為兩類:

(1)、高可用(High Availability)集群,簡稱HA集群。

這類集群致力於提供高度可靠的服務。就是利用集群系統的容錯性對外提供74小時*2不間斷的服務,如高可用的文件伺服器、資料庫服務等關鍵應用。

負載均衡集群:使任務可以在集群中儘可能平均地分攤不同的電腦進行處理,充分利用集群的處理能力,提高對任務的處理效率。

  在實際應用中這幾種集群類型可能會混合使用,以提供更加高效穩定的服務。如在一個使用的網路流量負載均衡集群中,就會包含高可用的網路文件系統、高可用的網路服務。

(2)、性能計算(High Perfermance Computing)集群,簡稱HPC集群,也稱為科學計算集群。

在這種集群上運行的是專門開發的並行應用程式,它可以把一個問題的數據分佈到多台的電腦上,利用這些電腦的共同資源來完成計算任務,從而可以解決單機不能勝任的工作(如問題規模太大,單機計算速度太慢)。

這類集群致力於提供單個電腦所不能提供的強大的計算能力。如天氣預報、石油勘探與油藏模擬、分子模擬、生物計算等

3.1 什麼是高可用性 (HA)  

電腦系統的可用性(availability)是通過系統的可靠性(reliability)和可維護(maintainability)來度量的。工程上通常用平均無故障時間(MTTF)來度量系統的可靠性,用平均維修時間(MTTR)來度量系統的可維護性。於是可用性被定義為:MTTF/(MTTF+MTTR)*100%

負載均衡伺服器的高可用性 為了屏蔽負載均衡伺服器的失效,需要建立一個備份機。主伺服器和備份機上都運行High Availability監控程式,通過傳送諸如“I am alive”這樣的信息來監控對方的運行狀況。當備份機不能在一定的時間內收到這樣的信息時,它就接管主伺服器的服務IP並繼續提供服務;當備份管理器又從主管理器收到“I am alive”這樣的信息是,它就釋放服務IP地址,這樣的主管理器就開開始再次進行集群管理的工作了。為在主伺服器失效的情況下系統能正常工作,我們在主、備份機之間實現負載集群系統配置信息的同步與備份,保持二者系統的基本一致。

HA的容錯備援運作過程

自動偵測(Auto-Detect)階段 由主機上的軟體通過冗餘偵測線,經由複雜的監聽程式。邏輯判斷,來相互偵測對方運行的情況,所檢查的項目有:主機硬體(CPU和周邊)、主機網路、主機操作系統、資料庫引擎及其它應用程式、主機與磁碟陣列連線。為確保偵測的正確性,而防止錯誤的判斷,可設定安全偵測時間,包括偵測時間間隔,偵測次數以調整安全繫數,並且由主機的冗餘通信連線,將所彙集的訊息記錄下來,以供維護參考。

動切換(Auto-Switch)階段 某一主機如果確認對方故障,則正常主機除繼續進行原來的任務,還將依據各種容錯備援模式接管預先設定的備援作業程式,併進行後續的程式及服務。

自動恢復(Auto-Recovery)階段 在正常主機代替故障主機工作後,故障主機可離線進行修複工作。在故障主機修複後,透過冗餘通訊線與原正常主機連線,自動切換回修複完成的主機上。整個回覆過程完成由EDI-HA自動完成,亦可依據預先配置,選擇回覆動作為半自動或不回覆。

3.2、HA三種工作方式:

(1)、主從方式 (非對稱方式)

工作原理:主機工作,備機處於監控準備狀況;當主機宕機時,備機接管主機的一切工作,待主機恢復正常後,按使用者的設定以自動或手動方式將服務切換到主機上運行,數據的一致性通過共用存儲系統解決。

(2)、雙機雙工方式(互備互援)

工作原理:兩台主機同時運行各自的服務工作且相互監測情況,當任一臺主機宕機時,另一臺主機立即接管它的一切工作,保證工作實時,應用服務系統的關鍵數據存放在共用存儲系統中。

(3)、集群工作方式(多伺服器互備方式)

工作原理:多台主機一起工作,各自運行一個或幾個服務,各為服務定義一個或多個備用主機,當某個主機故障時,運行在其上的服務就可以被其它主機接管。

當一個人找不到出路的時候,最好的辦法就是將當前能做好的事情做到極致,做到無人能及。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 第一種方法:通過設置layer的屬性 最簡單的一種,但是很影響性能,一般在正常的開發中使用很少. ? 1 2 3 4 5 6 7 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, ...
  • 引言 為了後面的例子做準備,本篇及接下來幾篇將介紹Android應用程式的原理及術語,這些也是作為一個Android的開發人員必須要瞭解,且深刻理解的東西。本篇的主題如下: 1、應用程式基礎 2、應用程式組件 2.1、活動(Activities) 2.2、服務(Services) 2.3、廣播接收者 ...
  • ——工欲善其事必先利其器 引言 本系列適合0基礎的人員,因為我就是從0開始的,此系列記錄我步入Android開發的一些經驗分享,望與君共勉!作為Android隊伍中的一個新人的我,如果有什麼不對的地方,還望不吝賜教。 在開始Android開發之旅啟動之前,首先要搭建環境,然後創建一個簡單的Hello ...
  • 一:理解sql執行順序 在sql中,第一個被執行的是from語句,每一個步驟都會產生一個虛擬表,該表供下一個步驟查詢時調用,比如語句:select top 10 column1,colum2,max(column3) from user where id>1 group by column1,col ...
  • [TOC] 一、Mongodb 的許可權管理 認識許可權管理,說明主要概念及關係 與大多數資料庫一樣,Mongodb同樣提供了一套許可權管理機制。 為了體驗Mongodb 的許可權管理,我們找一臺已經安裝好的Mongodb,可以 "參照這裡" 搭建一個單節點的Mongodb。 直接打開mongo shell ...
  • 資料庫連接池 本詞條由“科普中國”百科科學詞條編寫與應用工作項目 審核 。 本詞條由“科普中國”百科科學詞條編寫與應用工作項目 審核 。 資料庫連接池負責分配、管理和釋放資料庫連接,它允許應用程式重覆使用一個現有的資料庫連接,而不是再重新建立一個;釋放空閑時間超過最大空閑時間的資料庫連接來避免因為沒 ...
  • 一、Oracle 中的分頁 1) select * from emp; 2)select * ,rownum from emp; //這樣寫不行 3)select ename,job,sal,rownum from emp; //可以 ENAME JOB SAL ROWNUM SMITH CLERK ...
  • 關於游標,首先要知道游標的定義。 游標,是記憶體中的一款區域,用來存放select的結果集 游標用來處理從資料庫中檢索的多行記錄(使用select語句)。利用游標,程式可以逐個的處理和遍歷一次索引返回的整個記錄集。 在資料庫中,存在兩種游標: 一、顯示游標(需要明確定義) 顯示游標被用於處理返回多行數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...