97骚碰,毛片大片免费看,亚洲第一天堂,99re思思,色好看在线视频播放,久久成人免费大片,国产又爽又色在线观看

程序開(kāi)發(fā)中微服務(wù)架構和容器的結合運用論文

時(shí)間:2021-06-12 15:55:45 論文 我要投稿

程序開(kāi)發(fā)中微服務(wù)架構和容器的結合運用論文

  摘要:文章分析了微服務(wù)架構和容器技術(shù)的應用。微服務(wù)架構是一種架構概念, 通過(guò)將功能分解到各個(gè)離散的服務(wù)中以實(shí)現對解決方案的解耦, 在降低系統耦合的同時(shí), 還提供了十分靈活的服務(wù)支持, 這種架構對應用的功能進(jìn)行了充分的分離, 使開(kāi)發(fā)和部署非常的便捷, 結合容器技術(shù), 最大化地解決微服務(wù)架構中所面臨的負載, 對微服務(wù)進(jìn)行更有效的支撐。微服務(wù)架構中對容器技術(shù)的應用主要看中容器的對解決復雜環(huán)境和用戶(hù)資源隔離問(wèn)題的能力, 這種新的開(kāi)發(fā)方式為開(kāi)發(fā)者提供了一種新的思路。

程序開(kāi)發(fā)中微服務(wù)架構和容器的結合運用論文

  關(guān)鍵詞:微服務(wù); 容器; 共享; 解耦

  微服務(wù)架構的產(chǎn)生是軟件架構不斷演進(jìn)的結果。Web開(kāi)發(fā)經(jīng)歷了單體結構, 集群結構, 分布式系統, 最終演化到微服務(wù)架構。微服務(wù)架構按照業(yè)務(wù)劃分模塊, 實(shí)現一個(gè)個(gè)高度解耦的系統架構, 其中的分布式、快速演化、自動(dòng)化運維和高容錯性這些優(yōu)點(diǎn), 受到了大批互聯(lián)網(wǎng)公司的青睞。在保障軟件架構的靈活伸縮, 系統架構分布合理的同時(shí), Docker容器的加入, 進(jìn)一步降低了微服務(wù)的成本, 反過(guò)來(lái)也使得微服務(wù)和容器結合得越來(lái)越緊密。特別是云端平臺的興起, 加速了這種趨勢[1]。

  1 設計架構的演變。

  1.1 單體結構。

  此時(shí)公司業(yè)務(wù)量比較小, 系統構建并不復雜, 所有的代碼, 數據庫, 文件都部署在一臺機器上, 對系統服務(wù)進(jìn)行常規的應用服務(wù)和數據服務(wù)分離, 增加緩存可以滿(mǎn)足此時(shí)的訪(fǎng)問(wèn)量。

  1.2 集群結構。

  公司業(yè)務(wù)逐漸增加, 用戶(hù)量增大, 服務(wù)器壓力也隨之增大, 高峰期已經(jīng)不能滿(mǎn)足用戶(hù)的操作, 于是增加服務(wù)器分擔原有服務(wù)器的訪(fǎng)問(wèn)和壓力, 同時(shí)有了負載均衡, 反向代理, 數據庫讀寫(xiě)分離的應對方案。

  1.3 分布式系統。

  公司業(yè)務(wù)繼續發(fā)展, 用戶(hù)規模和業(yè)務(wù)復雜已經(jīng)到了一個(gè)量級, 于是開(kāi)始把一個(gè)系統拆成許多不同的應用, 每個(gè)應用進(jìn)行獨立的開(kāi)發(fā)、測試、運維, 應用之間通過(guò)消息隊列來(lái)進(jìn)行數據分發(fā), 也可以訪(fǎng)問(wèn)同一個(gè)數據存儲來(lái)構成一個(gè)關(guān)聯(lián)完整的系統。

  1.4 微服務(wù)架構。

  微服務(wù)架構以去中心化為特點(diǎn)。大規模用戶(hù)的使用需求, 對分布式系統的'要求很高, 并且業(yè)務(wù)快速發(fā)展, 迭代周期很短, 子系統也不需要如原來(lái)企業(yè)計算分布式那樣采用集中式存儲, 通常采取前后端分離的方式, 使單個(gè)業(yè)務(wù)系統組件化, 不同的服務(wù)之間采用輕量級的交互機制進(jìn)行交互, 使各個(gè)子系統做到有效分割, 結合Docker容器, 使得微服務(wù)能進(jìn)行實(shí)際的應用。

  2 微服務(wù)的特性。

  2.1 微服務(wù)架構的優(yōu)勢。

  2.1.1 降低復雜性。

  微服務(wù)架構通過(guò)分解單體式應用為多個(gè)服務(wù)方法, 降低了系統的復雜性, 多個(gè)子系統的分離實(shí)現了組件化, 一個(gè)個(gè)組件成為可管理的分支或服務(wù), 使其通過(guò)模塊化的方式呈現出來(lái)。通過(guò)微服務(wù)這種架構模式, 讓單個(gè)服務(wù)更容易開(kāi)發(fā)和維護。

  2.1.2 部署的獨立性。

  每個(gè)微服務(wù)都具備相對獨立的運行進(jìn)程和業(yè)務(wù)處理的能力, 所以每個(gè)微服務(wù)的安裝和部署都可以獨立進(jìn)行。在傳統的架構中, 如果要對某一程序內的某一功能區進(jìn)行變更, 就需要對整體架構進(jìn)行統一的重新建設, 并進(jìn)行重新部署。而微服務(wù)架構在變更時(shí), 由于其單個(gè)微服務(wù)的獨立性, 不需要對整個(gè)應用進(jìn)行編譯和部署, 這大大提高了效率, 也降低了對系統環(huán)境所造成的風(fēng)險, 縮短了原有的時(shí)間操作周期。

  2.1.3 容錯性高。

  在傳統單一的構架中, 如果某一組的應用功能發(fā)生故障, 那么系統整體的穩定性就會(huì )受到影響, 子系統出現故障, 影響會(huì )在其他的子系統中蔓延, 輕的后果是會(huì )導致局部的系統受到影響, 部分業(yè)務(wù)無(wú)法得到處理, 嚴重的后果是導致整個(gè)應用系統的崩潰。在微服務(wù)構架中, 由于單個(gè)服務(wù)的獨立性, 所以故障的影響可以控制在單個(gè)的應用中, 并不會(huì )對其他的服務(wù)造成影響, 而且微服務(wù)中有提前審計的功能, 有多種機制可以保證應用運行的穩定[2]。

  2.1.4 技術(shù)靈活。

  微服務(wù)構架有多種技術(shù)的選擇, 常見(jiàn)的Java, Node Js, Python, React Native都可以實(shí)現具體的微服務(wù)邏輯, 也可以混合使用。通過(guò)對技術(shù)的合理選擇, 節省成本的同時(shí), 做到專(zhuān)業(yè)分工。在使用不同的技術(shù)對微服務(wù)架構進(jìn)行整合和部署的過(guò)程中, 由于微服務(wù)的相對簡(jiǎn)單, 在升級的時(shí)候面臨更小的破壞風(fēng)險, 微服務(wù)的技術(shù)重構也更具有可行性[3]。

  2.1.5 易擴展。

  微服務(wù)的架構中, 系統的獨立性比較強, 保證了系統的擴展性也比較強, 其擴展的方向也相對較多, 在橫向的擴展中可以使相同維度的業(yè)務(wù)實(shí)現無(wú)縫銜接, 當不同的組件間接口出現差異的時(shí)候, 其獨立性也可以大大降低銜接的復雜性。在縱向的方向上, 組件化也使得多個(gè)維度的業(yè)務(wù)能有序地進(jìn)行數據交互, 微服務(wù)架構的特點(diǎn)大大降低了擴展風(fēng)險。

  2.2 微服務(wù)架構面臨的問(wèn)題。

  微服務(wù)的復雜性主要體現于分布式這種架構方式上。由于應用的是分布式系統, 給開(kāi)發(fā)時(shí)帶來(lái)了天然的系統復雜性。開(kāi)發(fā)者需要在RPC或消息傳遞之間選擇進(jìn)程間通信機制, 更甚于開(kāi)發(fā)者必須平衡消息傳遞過(guò)快或者過(guò)慢的問(wèn)題, 顯然這加大了服務(wù)的復雜性[4]。

  另一個(gè)挑戰是數據庫分區架構。在微服務(wù)的應用中, 應用需要同時(shí)服務(wù)多個(gè)數據庫。No SQL數據庫和信息代理的機制的系統, 并不支持分布式交易, 這對開(kāi)發(fā)者帶來(lái)了很高的挑戰。

  3 容器技術(shù)。

  容器技術(shù)的使用, 使得微服務(wù)器架構中所面臨的壓力得到很大程度上的緩解。容器技術(shù)的特點(diǎn)為微服務(wù)構架提供了落地的機會(huì ), 其中的內核機制可以實(shí)現不同的容器之間的聯(lián)系, 容器之間資源也能實(shí)現完全的隔離, 它們中有一個(gè)典型的代表—Docker。

  容器技術(shù)的高速發(fā)展為計算機的云計算問(wèn)題提供了解決的可能, 現在多重容器技術(shù)都已經(jīng)成為容器的標準規范。Linux容器具有較多的功能, 也實(shí)現了十分規范的管理。微服務(wù)通過(guò)將單個(gè)應用程序分解, 實(shí)現了組件化, 又通過(guò)Kubemetes等技術(shù)將原有的集群統一地編織在一起, 提供應用的部署、維護、擴展機制等功能, 實(shí)現對不同容器的有效管理[5]。

  Docker是容器技術(shù)中的代表, 特點(diǎn)體現在具有標準的鏡像結構, 實(shí)現了對不同資源實(shí)行不同存儲的功能, 也能滿(mǎn)足大規模的托管服務(wù), 對于有主機集群的云服務(wù)平臺, 通過(guò)分解應用構建、發(fā)布等方式實(shí)現對云計算技術(shù)的開(kāi)發(fā), 在實(shí)現云計算平臺的構建的同時(shí), 還可以進(jìn)行優(yōu)化和自動(dòng)化維護環(huán)境, 使得工作的效率能夠得到有效的提升, 在降低成本的同時(shí), 滿(mǎn)足了微服務(wù)架構所需要的資源。

  Docker的體系中, 最關(guān)鍵的有兩個(gè), Docker Register和Docker Engine, 前者負責構建和分發(fā)應用鏡像, 后者負責構建容器。這種組合方式, 是云服務(wù)的軟件即服務(wù) (Software as-a-Service, Saa S) 理念, 用戶(hù)可以在各自的數據中心內建立私有的Docker Register, 形成屬于自己的私有集群, 以應對大規模的應用擴展需求[6]。Docker很像一個(gè)集裝箱, 通過(guò)Lxc技術(shù)先進(jìn)行整合鏡像, 再集中匯總進(jìn)行分發(fā)。

  普通的虛擬機與容器技術(shù)有一定的相似性, 但是容器技術(shù)在很多細節和虛擬機并不相同。虛擬機建立在硬件平臺上, 而容器技術(shù)建立在操作系統 (Operating System, OS) 上, 可以把容器看作是虛擬機輕量化的實(shí)現。Docker在實(shí)現應用隔離的同時(shí), 沒(méi)有虛擬機必須的虛擬化管理層, 對比虛擬機太長(cháng)的啟動(dòng)時(shí)間, 容器的啟動(dòng)與停止可以在毫秒級這個(gè)范圍內啟動(dòng)。比較這些特性, Docker容器顯然更勝虛擬機一籌。

  4 基于容器的微服務(wù)應用。

  Docker的細粒度松散耦合和微服務(wù)架構相得益彰。我們可以讓Docker容器裝載這樣一個(gè)場(chǎng)景功能, 按照不同的角色分類(lèi), 每一個(gè)容器里裝一個(gè)服務(wù)和應用, 一個(gè)服務(wù)器中運行多個(gè)容器, 也可以將多個(gè)容器分散到多個(gè)服務(wù)器上運行。整個(gè)項目架構按照業(yè)務(wù)邏輯的規劃以細粒度的方式分散到了各個(gè)Docker中, 并可以根據Rest接口的方式進(jìn)行整合聯(lián)動(dòng)[7]。一個(gè)典型的例子可以是負載均衡層、綜合業(yè)務(wù)服務(wù)層、單業(yè)務(wù)服務(wù)層、存儲層。這種多分層的方式, 可以很好地保證容器對微服務(wù)的支持, 高效地保證每一層服務(wù)的運行。當然, 這種應用方式也是有些許弊端, 在架構設計的前期, 需要花費較多時(shí)間來(lái)進(jìn)行詳細的系統分析和邏輯劃分。

  5 結語(yǔ)。

  微服務(wù)架構和容器的結合在程序開(kāi)發(fā)中應用已經(jīng)成為一種新的開(kāi)發(fā)方式, 通過(guò)不同的微服務(wù)實(shí)現業(yè)務(wù)架構的粒度化, 通過(guò)不同的容器承載不同的業(yè)務(wù), 為用戶(hù)提供更多的開(kāi)發(fā)選擇。微服務(wù)構架中采用容器技術(shù)后, 一方面更加微型化;另一方面容器使微服務(wù)開(kāi)發(fā)更加的便捷。這種開(kāi)發(fā)方式將隨著(zhù)時(shí)間的推移越來(lái)越流行。

  參考文獻

  [1]楊鷗, 張羿, 耿貞偉.微服務(wù)架構在容器云中的應用實(shí)踐[J].電腦與電信, 2017 (7) :79-81.

  [2]張晶, 黃小鋒, 李春陽(yáng).微服務(wù)框架的設計與實(shí)現[J].計算機系統應用, 2017 (6) :259-262.

  [3]王紀軍, 張斌, 顧永生, 等.云環(huán)境中Web應用的微服務(wù)架構評估[J].計算機系統應用, 2017 (5) :9-15.

  [4]劉為.微服務(wù)架構及相應云平臺解析[J].科教導刊, 2017 (1) :27-28.

  [5]佚名.容器+微服務(wù)成為驅動(dòng)混合IT關(guān)鍵[J].郵電設計技術(shù), 2017 (1) :5.

  [6]黃小鋒, 張晶.微服務(wù)框架介紹與實(shí)現[J].電腦與信息技術(shù), 2016 (6) :14-16.

  [7]王健, 李冬睿.從單一模式系統架構往微服務(wù)架構遷移轉化技術(shù)研究[J].科教導刊, 2016 (9) :43-44.

【程序開(kāi)發(fā)中微服務(wù)架構和容器的結合運用論文】相關(guān)文章:

微課在C 程序設計課程教學(xué)中的運用的探究論文06-19

中windows服務(wù)終端的運用研究論文06-17

淺析軟件開(kāi)發(fā)中的三層架構技術(shù)論文05-21

居室空間設計中虛實(shí)結合的運用論文04-22

居室中色彩與光影的結合運用解讀論文05-13

化工設備開(kāi)發(fā)中RPM技術(shù)的運用論文05-20

程序教學(xué)法在排球教學(xué)中運用論文推薦06-05

案例和項目化教學(xué)法在JSP程序設計課中的運用論文01-10

服務(wù)營(yíng)銷(xiāo)在餐飲企業(yè)中的運用研究論文04-12