無服務(wù)架構(gòu)如何發(fā)展而來 怎樣實現(xiàn)工作

責(zé)任編輯:editor005

作者:謝濤

2017-03-23 14:37:29

摘自:it168網(wǎng)站

無服務(wù)器架構(gòu)的方式,通過實現(xiàn)最優(yōu)的發(fā)展、運營和管理開銷,改寫了目前軟件設(shè)計和部署的基本現(xiàn)狀。Linux容器為將大型單片集成系統(tǒng)分解為獨立自足式的服務(wù)打開了新的視野,并且實現(xiàn)了細(xì)粒度的資源利用率。

無服務(wù)器架構(gòu)的方式,通過實現(xiàn)最優(yōu)的發(fā)展、運營和管理開銷,改寫了目前軟件設(shè)計和部署的基本現(xiàn)狀。它的基本概念來源于微服務(wù)架構(gòu)(MSA),通過被賦予最前沿的架構(gòu)模式,實現(xiàn)了硬件閑置可能的最低水平。

盡管該技術(shù)已經(jīng)取得了顯著的進(jìn)步,但仍需要經(jīng)過深思熟慮,來適應(yīng)企業(yè)確切的無服務(wù)計算解決方案需求。

最開始的時候,軟件系統(tǒng)的實現(xiàn)需要部署在物理服務(wù)器上,但這樣無法在給定時間內(nèi)最優(yōu)利用底層硬件的計算能力。后來,在計算資源具備共享能力之后,通過在其中切換CPU和I/O運行,可以使多個虛擬計算機同時運行在同一個硬件上。

這項技術(shù)的發(fā)展在行業(yè)內(nèi)引起很多變革,最重要的就是云計算的誕生。目前,虛擬機是部署軟件時最可控、可擴展和可編程的獨立計算環(huán)境單元。Linux容器技術(shù)出現(xiàn)在2006年左右,當(dāng)時谷歌實現(xiàn)了可控組與Linux內(nèi)核特性的協(xié)調(diào)。

Linux容器從那之后就一直存在了。然而,只有大型的擁有卓越技術(shù)的企業(yè)——如谷歌,才有能力使用它。到2012年,歐洲一個軟件架構(gòu)研究組織才提出了微服務(wù)架構(gòu)的概念。2013年,Docker強勢填補了容器生態(tài)系統(tǒng)中的裂縫——可達(dá)性、可用性和支持服務(wù),然后,容器終于開始流行起來。

Linux容器為將大型單片集成系統(tǒng)分解為獨立自足式的服務(wù)打開了新的視野,并且實現(xiàn)了細(xì)粒度的資源利用率。為了推進(jìn)發(fā)展,如Kubernetes和Mesosphere 一樣的容器集群管理系統(tǒng)開始在同一周期出現(xiàn),并提供端對端的容器即服務(wù)能力(CaaS)能力。

到2015年,AWS通過發(fā)布AWS Lambda推動了又一次跳躍式發(fā)展,它可以通過按需運行微服務(wù)進(jìn)一步節(jié)省軟件部署成本,也可以在沒有工作負(fù)載時關(guān)閉它們。這個概念類似與節(jié)能汽車的啟停功能,為了降低燃耗而自動關(guān)閉內(nèi)燃機。

它如何工作?

“無服務(wù)器”這個術(shù)語乍一看很荒謬,其實它實際上是指在沒有任何基礎(chǔ)設(shè)施參與的情況下進(jìn)行軟件的部署。無服務(wù)器平臺會按照需求使服務(wù)構(gòu)建、部署和啟動的整個過程自動化。用戶只需要登記他們所需的業(yè)務(wù)功能和資源需求。

很明顯,這樣的功能可以分為兩個主要類型:通過客戶請求觸發(fā)的功能和需要在后臺通過時間或事件觸發(fā)的功能。一般來說,這樣的無服務(wù)器系統(tǒng)可以用一個容器集群管理器(CCM)和可按需去旋轉(zhuǎn)容器的動態(tài)路由來實施。不過,也需要考慮路由的延遲、容器創(chuàng)建時間、語言支持、支持協(xié)議、接口函數(shù)、函數(shù)初始化事件、配置參數(shù)傳遞和提供證明文件等問題。

雖然這種部署方式需要容器在沒有工作負(fù)載時關(guān)閉,但事實上,收到服務(wù)請求后,終止容器的這點時間代價會是非常昂貴的,因為在這么短的時間間隔里仍會有更多的請求不斷傳入。因此在多數(shù)情況下,無服務(wù)計算容器會在預(yù)配置周期內(nèi)維持以重復(fù)使用,處理更多的服務(wù)請求。這一點,類似于PaaS平臺中的自動定量行為。一旦某個服務(wù)規(guī)模擴大,該實例就會被維持一個時間周期,以保證能在不立即關(guān)閉它們的情況下處理更多請求。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號