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