集群(cluster)amp;高可用性(HA)概念

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

1.2 集群系統的主要優點:
??? (1)高可擴展性:
??? (2)高可用性HA:集群中的一個節點失效,它的任務可傳遞給其他節點。可以有效防止單點失效。
??? (3)高性能:負載平衡集群允許系統同時接入更多的用戶。
??? (4)高性價比:可以采用廉價的符合工業標準的硬件構造高性能的系統。

2.1 集群系統的分類
??? 雖然,根據集群系統的不同特征可以有多種分類方法,但是一般把集群系統分為兩類:
??? (1)、高可用(High Availability)集群,簡稱HA集群。
??? 這類集群致力于提供高度可靠的服務。就是利用集群系統的容錯性對外提供7*24小時不間斷的服務,如高可用的文件服務器、數據庫服務等關鍵應用。
??? 負載均衡集群:使任務可以在集群中盡可能平均地分攤不同的計算機進行處理,充分利用集群的處理能力,提高對任務的處理效率。
??? 在實際應用中這幾種集群類型可能會混合使用,以提供更加高效穩定的服務。如在一個使用的網絡流量負載均衡集群中,就會包含高可用的網絡文件系統、高可用的網絡服務。
??? (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)、集群工作方式(多服務器互備方式)
工作原理:多臺主機一起工作,各自運行一個或幾個服務,各為服務定義一個或多個備用主機,當某個主機故障時,運行在其上的服務就可以被其它主機接管。

摘錄于:http://hi.baidu.com/pierceshi/blog/item/b1cc05cba22653fe53664f7c.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535800.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535800.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535800.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kafka:常用命令

啟動Kafka:kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties創建一個叫test的話題,有兩個分區,每個分區3個副本:kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 3 …

MySQL Cluster 群集安裝環境介紹

MySQL Cluster 群集安裝環境介紹 MySQL 群集支持的操作系統:* Linux (Red Hat, Novell/SUSE) * Sun Solaris * IBM AIX * HP-UX * Mac OS X MySQL 軟件:* MySQL Max 版本 (並不是指 MaxDB)* MySQL NDB Cluster 系統最低需求: OS: Linux ( Turbolinux…

八股文打卡day9——計算機網絡(9)

面試題:HTTP1.0和HTTP1.1的區別? 我的回答: 1.長連接:HTTP1.1引入了長連接的機制,connection:keep-alive。一個TCP連接可以進行多次請求和響應。而HTTP1.0每次請求響應一次都得建立連接、斷開連接。 引入…

使用ogg實現oracle到kafka的增量數據實時同步

Oracle Golden Gate軟件是一種基于日志的結構化數據復制備份軟件,它通過解析源數據庫在線日志或歸檔日志獲得數據的增量變化,再將這些變化應用到目標數據庫,從而實現源數據庫與目標數據庫同步。 0、本篇中源端和目標端的一些配置信息&#xf…

轉載:35歲前成功的12條黃金法則

習慣的力量是驚人的。習慣能載著你走向成功,也能馱著你滑向失敗。如何選擇,完全取決于你自己。 1.習慣的力量:35歲以前養成好習慣 你想成功嗎?那就及早培養有利于成功的好習慣。 習慣的力量是驚人的,35歲…

JDK源碼解析之 Java.lang.Object

Object類是Java中其他所有類的祖先,沒有Object類Java面向對象無從談起。作為其他所有類的基類,Object具有哪些屬性和行為,是Java語言設計背后的思維體現。 Object類位于java.lang包中,java.lang包包含著Java最基礎和核心的類&…

將z-blog改成英文blog所遇到的問題

1.將z-blog中文章日期中的“年,月,日”改成英文 相關模板:b_article-multi.htmlb_article-single.html默認用的時間標簽是<#article/posttime/longdate#> 即 "2007年1月13日" 這樣的形式你可以換成 <#article/posttime/shortdate#>即 "2…

JDK源碼解析之 Java.lang.String

String 類代表字符串。Java 程序中的所有字符串字面值&#xff08;如 “abc” &#xff09;都作為此類的實例實現。 字符串是常量&#xff1b;它們的值在創建之后不能更改。字符串緩沖區支持可變的字符串。因為 String 對象是不可變的&#xff0c;所以可以共享。 一、類定義 p…

看到一個blog的標語,有意思!

"上世紀80年代勇氣&#xff0c;90年代靠關系&#xff0c;現在必須靠知識能力&#xff01;掙錢靠1、興趣廣泛&#xff1b; 2、感覺敏銳&#xff1b; 3、集中力強&#xff1b; 4、個性不脆弱&#xff08;堅韌性&#xff09;&#xff1b; 5、能在瞬間了解因果關系&#xff1b…

JDK源碼解析之 Java.lang.AbstractStringBuilder

這個抽象類是StringBuilder和StringBuffer的直接父類&#xff0c;而且定義了很多方法&#xff0c;因此在學習這兩個類之間建議先學習 AbstractStringBuilder抽象類 該類在源碼中注釋是以JDK1.5開始作為前兩個類的父類存在的&#xff0c;可是直到JDK1.8的API中&#xff0c;關于S…

RHEL下安裝配置基于2臺服務器的MYSQL集群

一、介紹這篇文檔旨在介紹如何在RHEL下安裝配置基于2臺服務器的MySQL集群。并且實現任意一臺服務器出現問題或宕機時MySQL依然能夠繼續運行。 注意&#xff01;雖然這是基于2臺服務器的MySQL集群&#xff0c;但也必須有額外的第三臺服務器作為管理節點&#xff0c;但這臺服務器…

JDK源碼解析之 Java.lang.StringBuffer

StringBuffer類表示一個可變的字符序列。StringBuffer的API與StringBuilder互相兼容&#xff0c;但是StringBuffer是線程安全的。在可能的情況下&#xff0c;建議優先使用StringBuilder&#xff0c;因為在大多數實現中它比StringBuffer更快。 一、類定義 public final class S…

redo和undo

這是在網上看到的對redo和undo的探討&#xff1a; 1. redo 記錄所有做過的事情&#xff0c;用于恢復 undo 記錄事務的前鏡相&#xff0c;用于回滾2. redo&#xff0c;恢復數據庫時&#xff0c;按照重做日志文件來恢復你之前的操作 undo&#xff0c;撤消你做過的操作&#xff0…

JDK源碼解析之 Java.lang.StringBuilder

StringBuilder類表示一個可變的字符序列。StringBuilder的API與StringBuffer互相兼容&#xff0c;但是StringBuilder是非線程安全的&#xff0c;在大多數實現中它比StringBuffer更快。 一、類定義 public final class StringBufferextends AbstractStringBuilderimplements ja…

從映射觀點看索引

信息檢索主要有“檢”與“索&#xff08;辦手續&#xff09;”兩個動作。在圖書館借書時&#xff0c;一般而言&#xff0c; 找書的時間比辦理手續的時間長得多&#xff0c;因而縮短檢查時間是提高效率的關鍵。數據庫中檢 索信息也與此類似。 在沒有索引文件時&#xff0c;DBM…

JDK源碼解析之 Java.lang.Boolean

Boolean 類是將 boolean 基本類型進行包裝。類型為 Boolean 的對象包含一個單一屬性 value&#xff0c;其類型為 boolean。 此外還提供了許多將 boolean 轉換為 String、String 轉換為 boolean&#xff0c;以及其他一些方法。 一、類定義 public final class Boolean implemen…

MYSQL的集群的安裝與配置(mysql-5.1.21)

具體安裝與配置&#xff1a;1&#xff09;準備工作&#xff1a;6臺機器&#xff0c;IP地址分別為192.168.0.&#xff08;231-236&#xff09;MGM節點&#xff1a;192.168.0.231(232)SQL 節點&#xff1a;192.168.0.233-234NDBD 節點&#xff1a;192.168.0.235-236系統都是REDHA…

JDK源碼解析之 Java.lang.Byte

byte&#xff0c;即字節&#xff0c;由8位的二進制組成。在Java中&#xff0c;byte類型的數據是8位帶符號的二進制數,以二進制補碼表示的整數 取值范圍&#xff1a;默認值為0&#xff0c;最小值為-128&#xff08;-27&#xff09;;最大值是127&#xff08;27-1&#xff09; Byt…

在命令行模式下管理SELinux

作者&#xff1a; Oslad.com (原創&#xff01;轉載請注明出處) 2006-07-14 在 GUI 圖形界面模式下&#xff0c;要更改 SELinux 的策略使用方式&#xff0c;只需依次點擊“應用程序”&#xff0c;“系統設置”&#xff0c;“安全級別”&#xff1b;然后在“安全級別配置”對…

JDK源碼解析之 Java.lang.Double

Double類是原始類型double的包裝類&#xff0c;它包含若干有效處理double值的方法&#xff0c;如將其轉換為字符串表示形式&#xff0c;反之亦然。Double類的對象可以包含一個double值。 Double類包裝原始類型的值 double中的對象。類型的對象 Double包含一個類型為的字段 doub…