High Availability & Elastic

ELB

定義:

Elastic load balancer是AWS提供一種自伸縮高可用的均衡負載器. 基本上ELB做了2件事情:

  • 可以將網(wǎng)絡請求按照一定算法分發(fā)給特定EC2 instance集群屈呕。
  • 對于集群中的instance進行health check,在轉發(fā)請求的僅會把請求分發(fā)給健康的instance從而保證高可用性。
分類:

按照ELB的服務對象可以分為:

  • internet-facing (public) ELB
    • 主要用于VPC邊界之外的用戶訪問的負載均衡
    • 創(chuàng)建ELB的同時會生成一個廣域網(wǎng)可訪問的DNS名
  • internal (private) ELB
    • 主要用戶VPC內(nèi)的instance相互訪問的負載均衡
    • 創(chuàng)建ELB的同時會生成一個VPC內(nèi)有效的DNS名

按照ELB的類型分可以分為:

  • Classic ELB
    • 7/4層均衡負載
    • 僅支持輪詢均衡負載算法
    • 支持Classic網(wǎng)絡和VPC網(wǎng)絡
    • 不支持Webstocket長鏈接
  • Application ELB
    • 7層均衡負載
    • 支持輪君負載算法,端口轉發(fā)算法余佛,路徑轉發(fā)算法
    • 僅支持VPC網(wǎng)絡
    • 支持Websocket長鏈接
    • 支持target group嘹承。將ELB和特征集群解耦
    • 強制cross-zone balance, 所以對于Application ELB你必須給他最少2個處于不同AZ的subnet铐望,并且每個AZ只能同時設置一個subnet
概念:
  • Listener
    ELB通過Listener (協(xié)議+端口號)來監(jiān)聽接受到的請求。當客戶端發(fā)送一個請求到ELB (i.g http:80) ELB如果設定了相應的Listener則會處理這個請求(否則不做響應)栖袋,Listener會維護2個連接, client-to-ELB and ELB-to-server拍顷。注意這兩個連接之間不是以流的形式來傳輸數(shù)據(jù)的,當client在發(fā)送請求的時候塘幅,只有當ELB接收完成了所有來自client端的數(shù)據(jù)才會將數(shù)據(jù)轉發(fā)給server端昔案,而不是像流一樣接收一點傳一點
  • Idle Connection timeout
    根據(jù)上面說的Listener維護了2個連接,Idle Connection timeout 就是控制這2兩個連接的空閑超時時間的电媳。當任何一個連接在指定時間內(nèi)沒有接受數(shù)據(jù)踏揣,則Listener釋放連接。舉個例子,當client通過ELB向server發(fā)送一個文件上傳的請求的時候匾乓,首先會在client-to-ELB這個連接上傳輸數(shù)據(jù)捞稿,如果數(shù)據(jù)比較大傳輸?shù)臅r間比較長,則可能會導致ELB-to-server這個連接一直空閑拼缝,一旦空閑時間達到了Idle Connection timeout娱局,ELB就會釋放ELB-to-server的連接,從而導致server端會丟失這次client端的請求咧七。
  • Connection draining
    你可以動態(tài)的從ELB的目標集群去動態(tài)的增加或移除instance, 增加還好說但移除會稍微有些復雜铃辖。當你從ELB de-register一個instance的時候,毫無疑問猪叙,ELB將不會在把新接受到的請求轉發(fā)給這臺instance去處理,但是已經(jīng)接受到的請求呢仁卷?一個完整的請求都包含一個request和一個response穴翩,當你de-register一個instance的時候,如果一個請求已經(jīng)接受但還沒來的及返回response锦积,如果你暴力的直接close掉ELB-to-server的connection芒帕,則這個請求雖然被處理了但client端無法接受到response。所以Connection draining就是用來解決這一問題的丰介,它允許你去設置一個時間背蟆,在這個時間內(nèi),即使你de-register了instance但是還保持連接存在哮幢,知道超過這個時間才close connection.
  • Sticky session
    ELB使用最基本的輪詢均衡負載算法带膀,這塊會有一個問題。一個客戶的2個請求會被分配到不同的機器上橙垢,這會導致session丟失垛叨。例如:你的登陸請求被ELB分配給了機器A, 機器A在session中保存了你的登陸信息,但是你請求其他頁面的請求被ELB分配給了機器B而機器B的session中沒有你的登陸信息柜某,則會跳轉登陸頁面讓你再次登陸嗽元。Sticky session可以保證相同客戶的請求始終被分配到一臺固定的server直到session過期或者cookie被清空敛纲。
  • Cross zone balance
    當你的ELB對應多個處于不同AZ的subnet的時候,請求會被隨機的分配到不同的AZ的instance去處理

CloudWatch

定義

CloudWatch是用于對各種AWS資源進行監(jiān)控的一個服務剂癌。CloudWatch由下面幾個組件組成

  • Metric
    Metric是對于AWS資源被監(jiān)控的一個維度(如EC2 instance的CPU使用率, ELB單位時間接收request的數(shù)量).
    - Metric是資源級別的(具體到一個EC2 instance, 一個ASG淤翔,一個ELB)

  • Alarm
    Alarm有 3種狀態(tài)

    • ALARM - 告警
    • OK - 正常態(tài)
    • INSUFFICIENT - 采樣數(shù)據(jù)不足

    Alarm由3個部分組成

    • 一個Metric
    • 一個Rule,定義獲取Metric data的間隔時間(period), 采樣數(shù)量(periods)和閥值(i.e: CPU>=50%)
    • 一個Action, 當alarm被觸發(fā)的時候要采取的動作
      - Notification
      - ASG actions
      - EC2 actions
  • Event
    CloudWatch還提供事件系統(tǒng)佩谷,當一些服務的狀態(tài)發(fā)生變化會拋出事件旁壮,然后允許你去定義相應的動作。感覺和Alarm非常相似琳要,但總結來說有如下不同

Alarm Event
資源級別的寡具,你僅能給某個資源創(chuàng)建Alarm 服務級別你可以給一類資源創(chuàng)建Event
有詳細的采樣配置和閥值 針對于籠統(tǒng)的狀態(tài)變化
Alarm觸發(fā)的action都是AWS預定義的 Event支持Lambda, 對于事件的處理更加靈活
  • Log

ASG

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市稚补,隨后出現(xiàn)的幾起案子童叠,更是在濱河造成了極大的恐慌,老刑警劉巖课幕,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件厦坛,死亡現(xiàn)場離奇詭異,居然都是意外死亡乍惊,警方通過查閱死者的電腦和手機杜秸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來润绎,“玉大人撬碟,你說我怎么就攤上這事±蚱玻” “怎么了呢蛤?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長棍郎。 經(jīng)常有香客問我其障,道長,這世上最難降的妖魔是什么涂佃? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任励翼,我火速辦了婚禮,結果婚禮上辜荠,老公的妹妹穿的比我還像新娘汽抚。我一直安慰自己,他們只是感情好侨拦,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布殊橙。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪膨蛮。 梳的紋絲不亂的頭發(fā)上叠纹,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音敞葛,去河邊找鬼誉察。 笑死,一個胖子當著我的面吹牛惹谐,可吹牛的內(nèi)容都是我干的持偏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼氨肌,長吁一口氣:“原來是場噩夢啊……” “哼鸿秆!你這毒婦竟也來了?” 一聲冷哼從身側響起怎囚,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤卿叽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后恳守,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體考婴,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年催烘,在試婚紗的時候發(fā)現(xiàn)自己被綠了沥阱。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡伊群,死狀恐怖考杉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情舰始,我是刑警寧澤奔则,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站蔽午,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏酬蹋。R本人自食惡果不足惜及老,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望范抓。 院中可真熱鬧骄恶,春花似錦、人聲如沸匕垫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至寞秃,卻和暖如春斟叼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背春寿。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工朗涩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绑改。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓谢床,卻偏偏與公主長得像,于是被迫代替她去往敵國和親厘线。 傳聞我的和親對象是個殘疾皇子识腿,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)造壮,斷路器渡讼,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧费薄!Ngi...
    JokerW閱讀 32,672評論 24 1,002
  • 摘自: https://my.oschina.net/hosee/blog/711632摘要: 本文主要說明RPC...
    holy_z閱讀 1,130評論 0 7
  • 互聯(lián)網(wǎng)架構基礎知識 一硝全、網(wǎng)站常見架構 負載層 頁面緩存層 web層 數(shù)據(jù)層 二、運維法則 緩存為王 盡量在前端(緩...
    魏鎮(zhèn)坪閱讀 4,817評論 0 9
  • 所謂的紅顏與藍顏楞抡,就是一方蠢蠢欲動伟众,另一方佯裝不和≌偻ⅲ或者雙方都樂于打著友誼的旗號玩曖昧凳厢。 男女之間有沒有真正的友誼...
    煙行閱讀 558評論 9 6