Web及移動App上云是指將Web應用程序或移動應用程序部署到云計算平臺上,以便用戶可以通過互聯網訪問這些應用程序。這種部署方式可以提高應用程序的可靠性、可擴展性和安全性,同時也可以降低應用程序的運營成本。
三大特性決定系統的穩定能力
部署應用服務本身是一個比較簡單的事情,只要我們把開發好的代碼和依賴環境在服務器上安裝即可。真正給我們帶來困擾的是如何保障所部署的服務可以安全穩定的在我們的服務器上運行,確保我們的業務可以長期持續的給用戶提供服務。因此我們首先要對系統的穩定性有一個概念,通常來說一個系統的穩定性有三個比較重要的維度。
系統的可靠性:系統的可靠性是指系統環境在一定程度下發生故障,比如硬件故障、軟件故障、甚至一些人為操作帶來的故障下是否依然能夠正常工作。當然這種故障一定是局部故障,一套相對完整的系統中,往往由多個小系統組成,任何一個小系統的故障是否會影響導致整體業務系統的崩潰,則是用來衡量系統可靠性的重要因素。
系統的可擴展性:這種可擴展性包括了橫向的負載能力,以及業務模塊的擴展。在這里我們重點關注的是系統負載能力的擴展,業務負載過大的業務,在業務負載增大的過程中,往往會帶來CPU內存硬盤網絡資源的大量消耗。那過去我們常用的手段就是升級服務器的配置。這種方法一來會導致業務短時間的下線、二來也是有上限的。那么如何保證系統可以線性、持續的擴容下去、則是我們要思考的問題。
系統的可維護性:隨著我們業務功能的增加,當一個相對復雜的系統部署后,是否能夠方便的監控、快速的定位問題、則是保障系統本身穩定性的又一個重要的因素。
上面這張圖就是一個比較基礎的系統部署需要用到的相關服務。任何服務的本質基本上也就是上面這一些服務所組成的,前端的應用對后端應用發起請求,后端服務處理請求后要么訪問數據庫的文件,要么訪問文件系統中的文件。因此這個系統的穩定性也就聚焦在了服務的穩定、文件系統的穩定以及數據庫的穩定。那對于服務器的穩定性,我們更多考慮的是通過負載均衡的方式,讓多臺服務器共同處理前端的請求;對于文件系統的穩定,則更多的是要考慮存儲硬件故障導致的文件丟失,以及服務端文件系統讀寫文件時消耗的貸款和IO資源。那對于數據庫來說,我們則要考慮數據庫的服務可靠性、容災能力以及數據備份和恢復的能力。
以上就是一個穩定性較高的業務系統在云上部署的形態,可以看到首先在服務器的前端增加了負載均衡服務,實現了多臺服務器共同處理業務請求,這樣的好處有兩個。
負載均衡后掛載的任何一臺服務器故障,服務器本身并不會宕機,因為還有其他的服務器可以提供服務。
服務過高時,我們可以通過簡單的增加負載均衡掛載的服務器數量,來增大我們服務器的基礎資源。
從這一點上實現了前端服務的線性擴容,其次我們也可以注意到存儲系統在這里選擇了兩種類型。
第一種是OBS存儲,OBS存儲是一種性價比較高的存儲服務,它并不支持傳統的文件系統,無法直接掛載在服務器上,當然也不支持改寫的操作,但是訪問速度很快,可以直接對互聯網暴露服務,非常適合存儲一些靜態的文件。比如圖片,音視頻或者是APP的安裝包,那么通過OBS來存儲靜態的大文件,可以有效的降低文件讀取時對本地存儲io性能消耗。
第二種是SFS存儲,SFS存儲是一種支持在服務器上掛載的共享文件存儲服務,通過NEX服務,我們可以將多臺server需要存儲的數據存儲到這個共享存儲中,一來可以提供更高可靠性的數據安全能力。二來可以解決多臺server中存儲數據如何同步的問題。
最后是數據庫服務,數據庫的可靠性和橫向擴容相對復雜,實現數據庫的可靠性不可避免的要去實現一主一從或者一主多從的數據庫架構,同時需要增加儲備能力的反向代理。因此我們去構建可依靠的數據庫對于數據庫本身的技術要求和運維要求就變得非常高,云服務提供的云數據庫本身就集成了這些能力,首先可以提供主從架構的數據庫的服務,同時可以提供可橫向擴容的只讀節點,另外支持實時備份和恢復能力,從而保證了數據庫服務的穩定性。
可能會用到的華為云服務
華為云提供上面多個服務,可以讓用戶輕松快捷的實現我們上面說的這個架構,幫助大家快速的在云上構建一個穩定性較強的業務環境。
首先是OBS對象服務,OBS對象服務可以支持加密、防盜鏈、細粒度權限控制等多種數據安全功能,保障數據安全可信。同時又提供了非常大的出入口帶寬,來保障多個用戶在使用OBS的時候依然能夠獲得一個非常良好的體驗。
第二個是SFS文件存儲,SFS文件存儲可以支持掛載到線上或者線下的服務器中,同樣也提供了非常強勁的io能力,在不同的業務層提供不同的吞吐量級別來保障滿足大家的用戶需求。
第三個是負載均衡服務,ELB負載均衡服務單實例支持千萬級并發,滿足用戶的海量業務訪問需求。具備多可用區多活能力,容災場景業務無縫實時切換。靈活擴展用戶應用的對外服務能力。
最后是云數據庫,華為自主創新研發的分布式關系型數據庫。該產品具備企業級復雜事務混合負載能力,同時支持分布式事務,同城跨AZ部署,數據0丟失,支持1000+節點的擴展能力,PB級海量存儲。同時擁有云上高可用、高可靠、高安全、彈性伸縮、一鍵部署、快速備份恢復、監控告警等關鍵能力,能為企業提供功能全面、穩定可靠、擴展性強、性能優越的企業級數據庫服務。
高并發環境穩定性建設
當我們擁有了一個相對穩定的業務系統時,我們往往會面臨一些其他的特殊場景,比如在我們短時出現大量用戶集體訪問的這種狀況,也就是我們所謂的高負載的系統如何去構建它的穩定性,當我們業務發展到一定階段的時候,就會碰到這種高并發的場景。并發量過高會快速消耗我們的系統資源,導致系統崩潰、宕機、業務下線,那么除了橫向擴容之外,面對高并發的業務,我們還有哪些解決問題的思路呢?這里給大家總結三點。
數據緩存:數據庫在高并發場景中往往是最脆弱的一個服務,大量的查詢請求會快速的讓數據庫進入到排隊執行任務的狀態,如果數據庫緩存優化做的不好,那么最終的結果就是數據庫服務是系統承載能力的第一個瓶頸,因此如何做數據緩存為數據庫降壓就顯得尤為重要。
應用解耦:單體應用在面對海量并發的時候往往力不從心,原因也很簡單。應用之間沒有做解耦,導致任何一個模塊的崩潰,都會帶來整個系統的崩潰,那么如何將應用拆分解耦以降低部分業務過高導致的系統崩潰,也是處理高并發問題的一種思路。
應用監控:多個應用之間相互調用會帶來一個弊病,就是一但某一個單一的應用發生故障,如何快速定位到這個故障應用就變得相對復雜,當然這也就延長了故障處理的時間。因此針對應用的監控、繪制應用之間的依賴關系,以及應用層級的報警就變得尤為重要。
上面是一個典型的微服務框架下的高并發系統,這里面我們可以看到為了應對高并發對系統帶來的沖擊,重點對如下的幾個方面做了加強。
首先是CDN高并發帶來的第一個沖擊就是網絡資源的大量消耗,這里通過CDN服務,我們把大量的靜態文件和大文件緩存到CDN節點,這樣可以有效的降低系統入口帶來的壓力。
第二就是我們去做多級的緩存,通過Redis和消息隊列,我們實現數據庫與服務之間,應用與應用之間的數據緩存。同時消息隊列也可以有效的實現應用之間的解耦,單個應用的故障弱化,避免拉垮整個業務環境。
第三就是應用監控與壓力的測試,通過成熟的應用監控和壓測服務,實時的掌握應用的健康狀態,快速定位這個故障應用通過應用的降級,限流等措施來避免系統在高并發的業務狀態下被集體系統性的拖垮。
第四就是我們的容器集群,通過強大的容器及群眾管理和編排能力,我們可以快速的臨時的創建我們的彈性容器,讓我們的系統能夠實現秒級擴容的這種擴容能力。
可能會用到的華為云服務
過上面幾種方式我們可以來應對高并發對系統帶來的沖擊。以上是華為云相關的一些產品與服務,這些服務可以幫助我們快速的構建一個能夠應對相對較高并發的業務系統。
首先是華為云的CDN,目前已經在全球部署了超過2800個CDN節點,同時也支持多種不同類型的協議接入,無論誰定協議都可以快速的進入到我們的CDN服務中去。CDN通過將源站內容分發至靠近用戶的加速節點,使用戶可以就近獲得所需的內容,解決Internet網絡擁擠的狀況,提高用戶訪問的響應速度和成功率,從而提升業務的使用體驗。
第二個云Redis服務大家可能也比較熟悉,是一個非常方便做數據緩存的應用。但是商業化的華為云可以幫你提供更強的可靠性服務,華為云可以真正做到持久化的數據存儲來幫助用戶去解決當系統重啟,或者是一些環境變更帶來的數據丟失的問題。
第三個是云數據庫,華為自主創新研發的分布式關系型數據庫。該產品具備企業級復雜事務混合負載能力,同時支持分布式事務,同城跨AZ部署,數據0丟失,支持1000+節點的擴展能力,PB級海量存儲。同時擁有云上高可用、高可靠、高安全、彈性伸縮、一鍵部署、快速備份恢復、監控告警等關鍵能力,能為企業提供功能全面,穩定可靠、擴展性強、性能優越的企業級數據庫服務。
最后就是云容器引擎(Cloud Container Engine)提供高可靠高性能的企業級容器應用管理服務,支持Kubernetes社區原生應用和工具,簡化云上自動化容器運行環境搭建,面向云原生2.0打造CCE Turbo容器集群,計算、網絡、調度全面加速,全面加速企業應用創新。據IDC報告顯示,華為云容器軟件中國市場份額排名第一。
總結
以上是這次Web及移動App上云實際測試中我選用的產品,這次用到了ECS服務器、云數據庫、Redis分布式緩存等多個產品。簡單搭建了一個高并發環境體驗了一下,總結一下使用體驗以及產品優勢。
使用體驗
在實際使用中我覺得大部分項目都適合部署上云,比如網站、應用程序、數據庫、存儲、備份和恢復等。云服務器可以根據需要進行擴展和縮小,可以提高可用性和靈活性,同時可以降低成本和管理負擔。對于一些需要高性能計算、需要大量存儲空間、需要低延遲的應用程序,華為云也有對應的產品可以支持,比如云上HPC、熱存儲、冷存儲、IES小站等。
產品優勢
一站上云更敏捷
?豐富云服務
包括計算、網絡、存儲、安全、域名等多類云服務,助力企業一站式高效上云,計算底層資源使用華為云IaaS服務,安全可靠高性能,滿足Web及移動App應用全棧部署需求
?多鏈路
多線接入BGP,自動感知接入線路網絡狀況,運營商內部故障時,能夠快速切換到其他運營商接入鏈 路,確保訪問質量
?高可用
輕松應對高并發、流量峰值場景,為用戶提供極致的站點訪問體驗
安全可靠服務好
?數據安全很放心
1、不用技術手段非法獲取客戶數據
2、不強迫客戶交換數據
3、不對客戶數據進行商業變現,機房安全等級(Tier4)全國最高,安全設備投入數十億,40多種安全服 務可供使用
4、安全上的專項研發占總體研發投入5%
?業務安全不焦慮
恪守業務邊界,不與客戶/伙伴搶業務
?合規可信通全球
1、全球120+合規認證,服務全球客戶
2、研發全流程安全可信,歷經嚴苛考驗
?華為品質服務
1、300+城市本地團隊
2、7x24咨詢,深度定制解決方案
3、VIP客戶專人服務
省錢省心創新快
?企業級應用特性全面
業務高可用(ECS集群高可用,數據庫高可用),數據高可靠(數據多備份),服務高安全(業務安全、數據 安全、系統安全)
?靈活按需投資少
1、按需付費,無需固定資產投資
2、超強靈活彈性,隨業務發展自動快速按需擴縮容,既能輕松應對超大業務流量峰值,也能在業務閑時節省 業務開支
?加速創新成本低
1、降低試錯成本,創新風險更低、速度更快
2、云上隨時使用最新的技術:大數據,人工智能,物聯網,無需重新采購軟件,按需使用,實施周期大大 縮短
技術很強資源多
?領先技術實力,更懂企業客戶
1、研發持續高投入,掌握云計算根技術,輕松應對企業業務安全、高并發、快速創新等業務挑戰
2、承襲華為30+年企業服務經驗積淀,更懂企業需求,全面覆蓋企業業務場景,并提供對應解決方案與最佳 實踐
?資源覆蓋全球,全球一張網
1、華為云在全球29個地理區域運營75個可用區,覆蓋170多個國家和地區
2、提供安全、穩定、低時延的高質量網絡選擇,打造50ms用戶優質體驗服務圈
?專屬資源滿足特定行業
提供專屬資源,滿足特定行業數據物理隔離需求,資源獨享,無需擔心資源搶占,最低0.5ms穩定低時延, 99.9999%業務高可用
剛好華為云開年采購季活動還在繼續,截止到3月31日,訪問華為云官網活動頁就可領取8888元的上云禮包,有需要的小伙伴不妨上華為云官網看看吧。
審核編輯 黃宇
-
服務器
+關注
關注
12文章
9129瀏覽量
85344 -
華為云
+關注
關注
3文章
2445瀏覽量
17411
發布評論請先 登錄
相關推薦
評論