摘要:互聯網系統小時不分晝夜的為人民服務,那么這樣長時間服務的背后究竟有哪些手段保證呢這其中包括軟硬件,及基礎設施的保障。人的努力分布式系統軟件架構師在設計大型互聯網系統時考慮的高可用性是從分布式系統的特點考慮的高可用。
互聯網系統7*24小時不分晝夜的為人民服務,那么這樣長時間服務的背后究竟有哪些手段保證呢?
這其中包括軟硬件,及基礎設施的保障。
IT人的努力 分布式系統軟件架構師在設計大型互聯網系統時考慮的高可用性是從分布式系統的特點考慮的高可用。主要的思路就是在各個層面做冗余,備份。
訪問所有網頁的第一步,解析DNS, 全球十二個根服務器,從國家,骨干網,各級運營商核心機房,省級機房,局站都有DNS緩存服務器,保證解析速度。當然,大型網站專門自建的DNS服務器也都是一組集群。
提供服務的web應用只有一個服務器不安全,而部署一組同樣功能的服務器集群就降低了單個服務器產生故障的風險。
IDC一組在同一個IDC中的應用集群在IDC級別是單點(天朝經常遇到挖光纜,遭雷劈),要將應用集群跨機房部署,此時要求應用無狀態,可以隨意部署。
IDC的建設在國內有運營商(電信、聯通、移動)和第三方基礎設施提供商(如世紀互聯),由于國內的現實狀況,運營商提供的IDC網絡質量較好,但是不能提供多線互通;而第三方質量比較參差不齊,有好有壞,但能提供BGP多路接入,一般出口帶寬較小。
最高級的T3機房的設計要求一條就是要能抗8級地震,也就是跟幾年前汶川一樣的震級。
高可用軟件Heartbeat與keeplived,此類軟件采用IP漂移技術,主要側重在做服務器的主備切換,在一些本身沒有集群功能支持的產品上,如早期Redis上能做簡單的主備高可用,并對應用本身無感知,簡化應用開發。如果單個一組主備的redis不能滿足容量需求,需要做Redis集群,則要用一些簡單工具庫人為對redis的讀寫進行分片(如jedis),此時集群維護成本變高,最好組件本身有原生的集群功能支持。
存儲數據庫服務器用的硬盤使用raid10保證本地硬盤上的冗余,再通過linux LVM卷管理做本地存儲冗余備份,再通過存儲廠商的商業解決方案或自研技術將單IDC的數據復制到同城異地IDC的存儲系統中,保證如果源站IDC被毀(極端的地震,戰爭),在同城另一個機房仍有可恢復的備份。
當然如果有地震,那么同城容災就不夠了,還需要異地容災,因為地震通常是區域性的,杭州地震不會對上海機房有很大影響。
光在存儲上做異地容災是不夠的,如果是冷備,平時并沒有用起來,也沒有合理的機制做演練切換,真到了一個IDC故障需要將應用讀取切到備庫上去的時候,沒人心里有底敢做這個決策,尤其是金融系統,數據庫一旦出錯會對企業造成可能致命的資損故障。
可以參考工商銀行2013年6月23日波及全國的長時間停機故障,說明我國國有銀行IT信息化技術儲備仍然薄弱,主要解決方案還是被美國廠商綁架。
國企背景的辦事思路一般找500強咨詢公司要方案并實施,這樣負責人可以不用擔職業前途的風險,出問題了全部推到合作方身上,并不考慮自己能為企業提供什么價值,典型的官場思維,當然這是題外話了。這個問題現在運營商高層應該已經認識到了,能看到目前運營商的思路有了一些變化,開始在自營業務上做技術和人才的儲備了。
設備常用的硬件負載均衡設備如F5,在設計上都是采用雙機冗余,心跳信號可以走設備串口或TCP。
一個4U的機架式服務器,都有冗余的電源設計(2+1,2+2,3+1)等,千兆網卡多塊。冗余的電源可以被芯片控制進行負載均衡,與程序員熟知的keeplived做的HA一樣,當一個電源不行時可以進行切換。
電力云計算背景下,單機柜服務器部署密度的增加,對于電力的要求也越來越高,在一個部署了4到6個刀片服務器的機柜最高需要30kW的電力。
電力的冗余體現在UPS和柴油發電機上。并且大型數據中心采用兩路獨立供電路徑,保證一路電力掛掉后另一路仍能為整個數據中心進行供電。
用戶享受了可以看到一個7*24小時的系統需要在方方面面上考慮系統的可用性, 軟件架構師要考慮在架構上支持容災;運維工程師要考慮機房網絡,服務器等能滿足業務需要;而IDC的建設要考慮選址(避開地震帶),電力供應,制冷等建筑規劃,能耗上的約束;設備廠家要考慮的是自己的產品能減少硬件故障宕機時間。
所有的努力,最終改變了人們的生活:
你可以坐在家里購物;快遞提供迅速的物流;用手機打車,叫外賣;不分白天黑夜的玩網絡游戲;隨時隨地用微信搶紅包;在便利店用手機付款;與爸媽遠程聊天。
程序員主宰世界!
文章來自微信平臺「麥芽面包」
微信公眾號「darkjune_think」轉載請注明。
如果覺得有趣,微信掃一掃關注公眾號。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65521.html
摘要:是的默認負載均衡策略。一致性哈希負載均衡。所以負載均衡是分布式系統架構設計中必須考慮的因素之一。考慮主要是如何讓下游接收到的請求是均勻分布的第層客戶端層反向代理層的負載均衡。通過輪詢第層反向代理層層的負載均衡。 一、 什么是負載均衡? 什么是負載均衡? 記得第一次接觸 Nginx 是在實驗室,那時候在服務器部署網站需要用 Nginx 。Nginx 是一個服務組件,用來反向代理、負載平衡...
摘要:有一次別人的云服務器被攻擊,提供商竟然重啟了物理機然后又諸多悲劇出現。造成微博服務短暫不可用。通過建立工具來診斷問題,并創建一種復盤事故的文化來推動并作出改進,防止未來發生故障。 showImg(https://segmentfault.com/img/bV0jif?w=900&h=385); 相信小伙伴們在上網或者玩游戲的時候一定都遇到過無法訪問的情況。服務器炸了的原因有各種各樣,下...
摘要:騰訊云解析套餐全面升配降價,更高的套餐配置規格,更優的價格方案,全面提升可用性及響應率,騰訊云專業版限時元年,全新騰訊云企業版套餐限時免費領取。騰訊云dnspod解析套餐全面升配降價,更高的套餐配置規格,更優的價格方案,全面提升可用性及響應率,騰訊云dnspod專業版限時99元/年,全新騰訊云dnspod企業版套餐限時免費領取。另外,DNS 增值服務也全面加強升級,搭配套餐使用更加靈活,現在...
摘要:對于這類企業來說,邊緣計算是從云計算中心層層向外推出去的,成長路徑是自頂向下,由內而外。這是云計算公司力推邊緣計算的商業邏輯。相對于其他玩家,電信運營商擁有的資源優勢和基礎布局,在邊緣計算的競爭中贏在了起跑線上。前一篇文章(漫談邊緣計算(一):邊緣計算是大勢所趨)提到我對邊緣計算的理解,認為邊緣計算是在一定程度上彌補傳統云計算的不足,相對于傳統的全集中模式的云計算中心,邊緣計算節點可以在現場...
閱讀 2337·2021-11-16 11:52
閱讀 2321·2021-11-11 16:55
閱讀 749·2021-09-02 15:41
閱讀 2980·2019-08-30 15:54
閱讀 3142·2019-08-30 15:54
閱讀 2250·2019-08-29 15:39
閱讀 1506·2019-08-29 15:18
閱讀 967·2019-08-29 13:00