2022-10-02 分類: 網站建設
在目前快節奏的移動互聯網時代,快速把握瞬息萬變的市場需求,以最短時間上線自己的應用以搶占市場,成為眾多企業在競爭白熱化的市場洪流中占有一席之地的制勝利器。天下武功唯快不破,顯然傳統的開發模式已經無法適應這種快節奏的市場需求,在此背景下催生出敏捷、精益、DevOps等新概念的誕生,尤其以云原生為代表的下一代架構更是進入火箭式發展階段,以容器、Kubernetes、Serverless等為代表的新技術引領移動互聯網進入急速賽道。
云原生不是某個單獨的技術,而是技術與管理方法的合集。為便于讀者在了解實踐云原生架構的方法之前能有一個系統性的思維,在此詳解云原生基礎架構的代表技術,及利用云原生構建出來的云原生應用的特征。
容器
正如我們現實世界中的集裝箱技術加速了貿易全球化的進程,容器技術的出現也解決了微服務架構下大量應用部署的問題,容器的環境自包含特性,可以讓我們一次構建,到處運行,其不僅解決了虛擬機所能夠解決的問題,同時也能夠解決由于資源要求過高虛擬機無法解決的問題。容器的特點主要包括:隔離應用依賴、創建應用鏡像并進行復制、創建容易分發的即啟即用的應用、支持實例簡單、快速地擴展等。
Docker 是當前流行的開源應用容器引擎,基于 Docker 容器化技術,用戶可以將微服務及其所需的所有配置、依賴關系和環境變量打包成容器鏡像,并輕松移植到全新的安裝了 Docker 的服務器節點上,運維人員無須關心底層操作系統,且無須重新配置環境,這使得容器成為部署單個微服務的最理想工具。
不可變的基礎設施
在傳統的物理服務器或虛擬機部署方式,因其每個都有自己的特征,我們稱之為寵物,當部署在宿主機上的應用出現故障,我們需要對癥下藥,排除問題恢復業務,但是在云原生架構下,我們稱部署方式為牲畜,一旦應用部署完成之后,那么這套應用基礎設施就不會再修改了。如果需要更新,那么需要現更改公共鏡像來構建新服務直接替換舊服務。而我們之所以能夠實現直接替換,就是因為容器提供了自包含的環境(包含應用運行所需的所有依賴),所以對于應用而言,完全不需要關心容器發生了什么變化,只需要把容器鏡像本身修改即可。因此,對于云友好的基礎設施是隨時可以替換和更換的,這就是因為容器具有敏捷和一致性的能力,也就是云時代的應用基礎設施。
容器編排引擎相關工具有 Kubernetes 、Swarm 等,用以解決容器的管理和調度問題。目前,由 Google 開源的 Kubernetes基本算是統一了容器編排的市場,實現了容器集群的自動化部署、擴縮容和維護等功能。
Kubernetes 與 Docker 相互配合、相輔相成,其中 Docker 是作為 Kubernetes 內部使用的低級別組件,而 Kubernetes 又可以高效管理調度 Docker 集群。
聲明式的API
聲明式不同于命令式,通過向工具描述自己想要讓事物達到的目標終態,然后由這個工具自己內部去計算和實現如何令這個事物達到目標狀態。簡言之,聲明式設計中,描述的是目標狀態,其中就為我們極大的簡化了實現過程中的異常情況及調度過程,我們只需要關注結果,無論使用什么方式,結果總是朝著我們定義的方向逼近,聲明式設計也是一種設計理念,同時也是一種工作模式,它使得系統更加健壯。
微服務
微服務相較于單體應用,將架構進行拆解,解決了單體應用后期難以擴展和低效的開發效率等問題。根據領域模型將巨大的單體分成界限清晰的微服務,并保持每個服務獨立可以迭代,具有服務高度自治、高效迭代、易于擴展和支持多語言編程等優點。
在我們享受微服務的靈活、開發的敏捷帶來的利好時,對于眾多的微服務,在運維、監控、部署、及分布式事務,服務之間的調用也提出了新的挑戰。
服務網格
微服務之間該如何實現調用,以及中間的調用策略該如何執行,此刻就需要用到服務網格。目前服務網格架構有侵入式和非侵入式兩種架構,區別在侵入式需要在開發框架中進行集成,需要使用SDK來實現一部分功能;非侵入式架構在部署階段以sidecar模式與業務運行結合,通過接管網絡流量實現透明代理,從而實現一系列網絡策略及監控,開發者僅需專注業務即可,無需對代碼進行修改,這種方式以服務網格(Service Mesh)為代表,讓應用更加輕量,目前最火的服務網格技術有Istio、Linkerd、Dubbo Mesh等,將其下沉到基礎設施層,用戶可以快速編排出復雜環境、復雜依賴關系的應用程序,同時開發者又無須過分關心應用程序的監控、擴展性、服務發現和分布式追蹤這些煩瑣的事情,從而更專注于自身業務程序開發。
網站欄目:互聯網下半場不可不理解的云原生
轉載注明:http://m.newbst.com/news16/200316.html
成都網站建設公司_創新互聯,為您提供建站公司、網站收錄、品牌網站設計、ChatGPT、網站改版、自適應網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容