2.2 PaaS
PaaS(Platform as a service胡嘿,平臺即服務(wù)):向用戶提供將應(yīng)用程序部署在云計算基礎(chǔ)設(shè)施上的能力,這些應(yīng)用程序使用提供商支持的編程語言钳踊、庫衷敌、服務(wù)和公務(wù)。用戶并不管理或控制底層云計算基礎(chǔ)設(shè)施箍土,包括網(wǎng)絡(luò)逢享、服務(wù)器、操作系統(tǒng)吴藻、存儲瞒爬,但對部署的應(yīng)用程序有控制權(quán),還可以配置應(yīng)用程序的環(huán)境。
PaaS平臺提供了定制化軟件研發(fā)和部署的中間件平臺侧但,也稱為“中間件即服務(wù)”矢空。中間件的種類非常豐富,可以是數(shù)據(jù)庫禀横,也可以是完整的應(yīng)用程序服務(wù)屁药,還可以是Business Process Management、消息中間件等柏锄,它們有的屬于應(yīng)用部署和運行平臺APaaS(Application Platform as a service)有的屬于集成平臺IPaaS(Integration as a service)酿箭。PaaS層的基礎(chǔ)架構(gòu)基本上都采用K8s。
2.2.1 核心技術(shù)
1.容器技術(shù)
容器作為標準化軟件單元趾娃,它將應(yīng)用及其所有依賴項打包缭嫡,使應(yīng)用不再受環(huán)境限制,可以在不同計算環(huán)境間快速抬闷、可靠地運行妇蛀。
容器的三個核心價值:敏捷性、彈性和可移植性笤成。
K8s提供了如下分布式應(yīng)用管理的核心能力:
- 資源調(diào)度
- 應(yīng)用部署與管理
- 自動修復(fù)
- 服務(wù)發(fā)現(xiàn)與負載均衡
- 彈性伸縮
2.微服務(wù)
過去開發(fā)一個后端應(yīng)用评架,最為直接的方式就是通過單體應(yīng)用提供并集成所有的服務(wù),即單體模式炕泳。但是隨著業(yè)務(wù)的發(fā)展以及需求的不斷增長纵诞,單體應(yīng)用功能愈發(fā)復(fù)雜,參與開發(fā)的工程師規(guī)暮把拢可能由最初幾個人發(fā)展到十幾個人挣磨,應(yīng)用迭代效率集中式研發(fā)、測試荤懂、發(fā)布、溝通模式而顯著降低塘砸。為了解決單體模式帶來的項目迭代流程過度集中的問題节仿,微服務(wù)模式應(yīng)運而生。
微服務(wù)模式將業(yè)務(wù)單元按照獨立部署和發(fā)布的標準進行抽取與隔離掉蔬,一個大而全的復(fù)雜應(yīng)用能夠被拆分成多個微笑的相互獨立的子功能廊宪,這些子功能被稱為“微服務(wù)”,多個“微服務(wù)”共同形成一個物理獨立但邏輯完整的分布式微服務(wù)體系女轿。這些微服務(wù)相對獨立箭启,通過解耦研發(fā)、測試與部署流程蛉迹,提高了整體迭代效率傅寡。當(dāng)其中的某一微服務(wù)無法支撐時,可以橫向水平擴展,從而保證應(yīng)用的高可用性荐操,具有獨立應(yīng)用生命周期管理芜抒、獨立版本開發(fā)與發(fā)布等能力,從根本上解決了單體應(yīng)用在拓展性和穩(wěn)定性上存在的先天架構(gòu)缺陷托启。
在微服務(wù)架構(gòu)中宅倒,旁路注冊中心作為協(xié)調(diào)者來完成服務(wù)的自動注冊和發(fā)現(xiàn)。服務(wù)之間的通信以及容錯機制開始模塊化屯耸,形成獨立服務(wù)框架拐迁。
主要微服務(wù)技術(shù):
Apache Dubbo、Spring Cloud疗绣、Eclipse MicroProfile线召、Tars、SOFAStack持痰、Dapr灶搜。
SOFAStack:是一套快速構(gòu)建金融機構(gòu)分布式結(jié)構(gòu)的中間件。MOSN是SOFAStack的組件工窍,它是一款采用Go語言開發(fā)的Service Mesh數(shù)據(jù)平面代理割卖,其工鞥和定位類似于Envoy,旨在提供分布式患雏、模塊化鹏溯、可觀測、智能化的代理能力淹仑。MOSN支持Envoy和Istio的API丙挽,可以與Istio集成。