雙 11 技術攻略:企業雲架構的正確姿勢
導讀 | 馬上雙 11 了,其實雙 11 不僅是天貓的雙 11,在這個大生態鏈中,很多應用場景的流量都會增加,很多企業都擔心在巨大的流量下能否安然度過。而放眼望去,這種大流量的場景更是比比皆是,流量陡增,資源需求要靈活擴充套件,單節點,怎樣的姿勢才是最佳的雲端計算姿勢? |
前段時間,一家企業的雲服務商遷移,引起了行業的軒然大波。同時也揭示使用者對於雲端計算行業的諸多認知誤區:
- 雲端計算產品是否存在著資源共享?
- 使用者應該如何選擇不同型別的雲端計算產品來滿足應用場景?
- 用了雲服務就不用考慮高可用?
那就讓我們從這個事件開始來分析雲端計算產品的臺前幕後。
“資源共享,按需使用”本是公共雲端計算區別於傳統IT架構的關鍵,也是雲端計算模式最大的優勢所在。資源共享意味著使用者透過購買公共雲端計算服務,改變過去購買整套軟硬體環境並自己運維的 IT 資源使用模式。公共雲服務提供商透過搭建統一集中的雲端計算服務來面向社會大眾提供服務,透過資源共享及規模效應降低了整個社會和單個使用者使用計算資源的成本。也正是因為資源共享與規模效應,使公有云服務商能夠以遠高過物理資源降價的速度一次一次的面向社會降低雲服務的價格。使使用者能夠以越來越低的價格使用到永遠最新的軟硬體技術所組成的雲服務產品。
可以說脫離了共享,就無從談及雲端計算,無論是計算,儲存,網路,使用者享受到的技術及價格紅利都離不開共享的作用。拿最通用的阿里雲 ECS 舉例,雲服務提供商將多個使用者的計算資源需求排程在一臺物理伺服器上,根據使用者的需求分配特定數量的資源使得使用者可以在滿足各自使用需求,多個使用者共享一臺伺服器上的計算、儲存、網路資源和效能。並拉低使用者的平均使用成本。
使用者對於雲端計算產品的瞭解和選擇,業務架構的設計往往也決定著系統的整體穩定性。如果單從雲產品的角度,特殊的雲產品型別已經能夠實現穩定且獨享的為客戶提供服務。
阿里雲針對於不同的業務場景需求實際上是提供了兩類產品:共享型產品,獨享型產品,可以滿足使用者不同場景下的使用。
如果使用者在雲端需要部署的是高穩定性需求業務,例如:企業的核心業務,需要較高的底層硬體穩定性,網路穩定性的業務,雲廠商可以提供獨享型的產品來滿足使用者需求,例如:阿里雲 ECS 伺服器獨享型例項。
阿里雲 ECS 伺服器獨享型例項採用系統固定排程 CPU 模式,使用者的所有計算,網路資源都為獨佔,可以保證任何時間能夠達到規格指定的計算能力。不會因為其他使用者的資源使用繁忙或空閒而產生波動。
當然,由於資源的獨享特性,也限制了例項在整體資源充裕的情況下,搶佔其他例項資源的可能性。在保證系統資源獨佔、穩定的前提下,沒有對系統資源充分利用。
如果使用者希望底層硬體能夠彈性靈活,以最低的成本達成最優的使用效率,雲廠商可以提供共享型產品,例如阿里雲 ECS 伺服器,N1,N2,E3 等規格族產品。
與獨享型型例項相比,共享型例項系統採用隨機的更貪婪的排程 CPU 模式,例項間共享資源將導致例項計算效能在長時間高負載時會出現上下浮動不穩定,但共享型例項的上限計算能力有可能超過同規格的獨享性例項。
使用者對於雲端計算的另外一個誤區指向雲端計算的高可用特性,很多使用者會認為:只要上雲了,高可用都由雲服務商提供了,無需設定高可用架構。而實際上,雲產品本身只提供有限的高可用特性,而云廠商會向客戶建議高可用產品和架構,來實現業務的負載均衡和容災。
產品層面,雲廠商主要提供了負載均衡、彈性擴容兩類服務,例如:阿里雲的 SLB 和 ESS。SLB 提供 4 層和 7 層上的負載均衡服務,可以有效避免單點故障影響整個應用系統的業務可用性。在應用部署時,透過設定虛擬服務地址(IP),將位於同一地域(Region)的多臺雲伺服器資源虛擬成一個高效能、高可用的應用服務池;根據應用指定的方式,將來自客戶端的網路請求分發到雲伺服器池中。
另一款產品,ESS 彈性伸縮是根據使用者的業務需求和策略,自動調整其彈性計算資源的管理服務。使用者根據自己的業務需求自動調整其彈性計算資源,在滿足業務需求高峰增長時無縫地增加 ECS 例項,並在業務需求下降時自動減少 ECS 例項以節約成本,從而幫助使用者實現高可用的部署。
使用者通常也非常關注服務的可用性和穩定性,各個廠商實際上都提供了豐富的高可用架構解決方案。目前阿里雲能夠為使用者提供 單地域多可用區容災、多地域多可用區容高可用災方案。
阿里雲建議的單地域多可用區架構如下圖所示,首先,在部署上一定要採用應用服務與資料庫服務分離的部署方式,也為日後擴容提供了更靈活的基礎,並且應用與資料庫一體的部署方式使故障的影響被擴大。在做到應用與資料分離後,為避免單點故障,在前端購買SLB進行負載均衡排程,後端掛接業務節點(ECS)至少有兩臺,這樣當後端 ECS 資源使用緊張時可以使用 ESS 進行水平業務擴充套件,既可以在業務峰值來臨時很好地彈性建立資源,又可以在業務節點故障或者健康度低時自動的清除故障節點,恢復業務。這種架構在應對一般的機架級別故障或者可用區故障時是可以起到高可用保護的作用的。
對於一些大型企業或者對業務安全性有極高要求的行業,比如金融業等在資料可靠性、業務安全性和服務可用性方面既要求具備同地域容災又要求具備多地域容災時,可以採用多地域多可用區的最高階別的容災方案,這種方案可以防止單一區域內因為不可預知原因而使所有可用區徹底毀壞的極低機率事件,在極端情況下保障業務的存活性。架構圖如下:
對於企業使用者如何利用雲產品搭建高可用架構,網上技術專家給出了眾多的解法,一篇來自微軟效能架構師的評論文章《效能架構師看 IT 之家的效能問題及解法》中提到建議企業使用者:
- 把 Web 和 Database 部署分離
- 用彈性擴充套件產品來做擴容縮容
- 採用高可用。
總而言之,對於普通的雲端計算使用者而言,雖然眾多企業已經一輪輪的進行了雲端計算產品的教育,但是使用者對於雲端計算產品彷彿仍然是霧裡看花,對於雲端計算產品之間仍然存在著非常多的誤區。雙 11 將近,在諸多大流量的場景前還是要保持一個良好的用雲姿勢,才能做到心中有數,雲上飛馳。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2933655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TiDB 的正確使用姿勢TiDB
- Redis的正確使用姿勢Redis
- git commit 的正確姿勢GitMIT
- Postman 正確使用姿勢Postman
- 提意見的正確"姿勢"
- 使用快取的正確姿勢快取
- 擼.NET Core的正確姿勢
- laravel 使用 es 的正確姿勢Laravel
- 使用列舉的正確姿勢
- 開啟Git的正確姿勢Git
- 玩轉 Ceph 的正確姿勢
- 融雲一圖看懂 | 居家辦公的正確姿勢
- 原始碼|使用FutureTask的正確姿勢原始碼
- 在vscode使用editorconfig的正確姿勢VSCode
- 虛幻私塾的正確使用姿勢
- MySQL 5.6建索引的正確姿勢MySql索引
- Spring Boot使用AOP的正確姿勢Spring Boot
- 使用 react Context API 的正確姿勢ReactContextAPI
- Swift中使用Contains的正確姿勢SwiftAI
- 學習Linux命令的正確姿勢Linux
- npm run dev 的正確使用姿勢NPMdev
- Spring Cloud微服務分散式雲架構 - 整合企業架構的技術點SpringCloud微服務分散式架構
- 幽默:企業技術架構 2.0架構
- Homestead 開啟mongodb正確姿勢MongoDB
- Java日誌正確使用姿勢Java
- DDD建模後寫程式碼的正確姿勢(Java、dotnet雙平臺)Java
- (二)spring cloud微服務分散式雲架構 - 整合企業架構的技術點SpringCloud微服務分散式架構
- (二)spring cloud微服務分散式雲架構-整合企業架構的技術點SpringCloud微服務分散式架構
- Spark streaming消費Kafka的正確姿勢SparkKafka
- 相容iphone x劉海的正確姿勢iPhone
- 實現Flutter彈窗的正確姿勢..Flutter
- 【幣修】《系統思考》的正確姿勢
- 乾貨 | 學習Python的正確姿勢Python
- Python開發遊戲的正確姿勢Python開發遊戲
- springboot~國際化Locale正確的姿勢Spring Boot
- Flutter 錯誤捕獲的正確姿勢Flutter
- Pwn掉智慧手錶的正確姿勢
- 掌握Redis分散式鎖的正確姿勢Redis分散式