微軟發布了在 microsoft azure 場景下實現高可用(ha)的檢查列表,在這個更新版本的列表中包含了乙個指南,可以指導如何設計和管理使用 vm、web 站點以及儲存的解決方案,以應對間歇性或持續性的高負荷。
通過這些指導規則,架構師和開發人員可以基於他們想要使用的資源編寫檢查列表。
概覽:構建更加具有可擴充套件性應用的建議
微軟在 azure 中提供了很多的資源,這些資源可以組合為解決方案,但是這個 ha 檢查列表主要針對的是虛擬機器、web 站點和資料庫。
針對虛擬機器,他們的建議如下:
使用 traffic manager 來處理跨多個 azure region 的流量均衡。azure 在全球有 26 個 region,在不久的將來還會增加 8 個。 每個角色使用多個 vm。 使用負載均衡器。azure 的負載均衡器能夠實現跨資料中心路由。因此,在給定的 region 中,它能夠高效選擇實際所使用的 vm。關於這些資產的差異,可以參考微軟專案經理 jonathan tuliani 所撰寫的文章。 部署用於擴充套件的虛擬機器集合,實現 vm 數量的自動增加或收縮,這會基於一些內部指標(如 vm 的處理器活動)或外部因素(如 azure 儲存佇列的長度)來進行。
檢查列表能夠按照每個組成部分幫助我們理解在 azure 中,具備 ha 配置的 vm 應該是什麼樣子的。
對於通過 azure 交付的 web 站點,推薦開發人員使用 azure cdn 並搭建快取 provider,如 redis 快取,至於執行在 azure 生產環境中的資料庫,則應該使用 active geo-replication 功能。
在這項公告中,azure 彈性的高階專案經理 adam glick 這樣說道,即便 azure 已經提供了構建 ha 的方案,但依然有很多客戶端並沒有採用這些解決方案。微軟指出,他們所提供的方案在使用時不會對應用程式的設計帶來很大的變更。
這個檢查列表不僅能夠提供建議,按照給定的實踐還可以減少一些風險。按照 idc 的資料,因為停機每年所造成的損失是 12.5 到 25 億美元,這裡的風險是非常現實的。它們包括:
因為阻塞所造成的延遲增加 跨應用分層的單點故障 可擴充套件性的降低 每項資源的使用所增加的成本
ha 檢查列表是 azure 針對這一領域所提供的眾多資源之一。sql server 在高可用性/災難恢復方面有其自己的考量因素,參見解決方案文件。對於 azure web 應用,微軟提供了參考架構。同時,為了實現 iot 的 ha,他們提供了彈性功能的技術指導以及部署模型。glick 在這份檢查清單的公告中說道,儘管這些步驟在實現的時候,不應該讓應用出現較大範圍的重寫,但是團隊分享的模式以及實踐團隊提供的見解應該在開發之前就遵守。
高可用性是乙個嚴肅的問題,違反服務等級協議可能會導致很嚴重的法律後果。sears 在 2015 年經歷了兩次系統不可用,這導致了 2 百萬美元的利潤損失並且陷入和與相關公司的訴訟之中。 machine zone 是很流行的「game of war」遊戲的製造商,在經歷了 2015 年十月的兩小時宕機之後,它放棄了 peak hosting 這家**商,這導致了該**商申請破產。
Dubbo的高可用性
現象 zookeeper註冊中心宕機,還可以消費dubbo暴露的服務。原因 健壯性 l 監控中心宕掉不影響使用,只是丟失部分取樣資料 l 資料庫宕掉後,註冊中心仍能通過快取提供服務列表查詢,但不能註冊新服務 l 註冊中心對等集群,任意一台宕掉後,將自動切換到另一台 l註冊中心全部宕掉後,服務提供者和...
如何保證MQ的高可用性?
1 面試題 如何保證訊息佇列的高可用啊?2 面試官心理分析 如果有人問到你mq的知識,高可用是必問的,因為mq的缺點,我剛才已經說過了,有好多,導致系統可用性降低,等等。所以只要你用了mq,接下來問的一些要點肯定就是圍繞著mq的那些缺點怎麼來解決了。要是你傻乎乎的就乾用了乙個mq,各種問題從來沒考慮...
keepalived實現LVS的高可用性
192.168.31.169 cip 代表客戶機 192.168.31.170 代表路由裝置外網位址 192.168.160.136 代表路由裝置內網位址 10.0.0.200 代表路由器在內網被vip指向外網的位址 170和136用裝置模擬路由器效果 192.168.160.140 rip 代表h...