2019-03-18 09:42:50分類:云服務(wù)端開發(fā)12524
作為一個(gè)互聯(lián)網(wǎng)公司或提供互聯(lián)網(wǎng)服務(wù)的公司,其核心的技術(shù)資產(chǎn)就是云端平臺(tái)和云端平臺(tái)上的服務(wù)。
我們通常所說的云服務(wù)或云平臺(tái)廣義上是一個(gè)概念,但其實(shí)內(nèi)部是兩個(gè)部分。
1.支撐云服務(wù)運(yùn)行的硬件和軟件系統(tǒng)環(huán)境(云架構(gòu)平臺(tái),簡稱云平臺(tái));
2.實(shí)現(xiàn)業(yè)務(wù)邏輯,支持客戶應(yīng)用,對(duì)外提供服務(wù)的應(yīng)用服務(wù)平臺(tái)(云服務(wù)平臺(tái),簡稱云服務(wù))。
一、云服務(wù)——選擇
云服務(wù)的核心重點(diǎn)在于架構(gòu)的設(shè)計(jì)。
軟件架構(gòu)是一個(gè)包含各種組件的軟件系統(tǒng)結(jié)構(gòu),這些組件包括但不限于:接口服務(wù),應(yīng)用服務(wù),數(shù)據(jù)庫服務(wù),緩存服務(wù),消息服務(wù),日志服務(wù),存儲(chǔ)服務(wù),網(wǎng)絡(luò)及通訊服務(wù)等等, 它們彼此存在關(guān)聯(lián)或和平臺(tái)環(huán)境存在關(guān)聯(lián)。系統(tǒng)架構(gòu)設(shè)計(jì)的目標(biāo)和目的就是協(xié)調(diào)和解決這些組件的邊界相關(guān)點(diǎn)。
當(dāng)前,我們的軟件服務(wù)已經(jīng)進(jìn)入云計(jì)算時(shí)代,一個(gè)系統(tǒng)所服務(wù)的對(duì)象已經(jīng)不再限于單個(gè)項(xiàng)目或企業(yè),也不再限于單一行業(yè)或同類用戶,甚至服務(wù)提供者都無法預(yù)知消費(fèi)服務(wù)的對(duì)象。
在這樣的服務(wù)消費(fèi)時(shí)代背景下,一個(gè)需要全方位,多角度,多維度提供服務(wù)的架構(gòu)方案已成為必然,微服務(wù)架構(gòu)也自然應(yīng)運(yùn)而生。
微服務(wù)架構(gòu)區(qū)別于傳統(tǒng)架構(gòu)的重要特點(diǎn):
·模塊以服務(wù)劃分而非項(xiàng)目;
·模塊獨(dú)立部署且相互隔離;
·模塊通訊用輕量級(jí)API調(diào)用。
時(shí)代必然,我們的云服務(wù)選擇的是微服務(wù)架構(gòu)。
二、云服務(wù)——解讀
1.服務(wù)拆分
服務(wù)按業(yè)務(wù)拆分這是水平維度的拆分,服務(wù)按技術(shù)實(shí)現(xiàn)前后端分離這是垂直維度的拆分,水平垂直兩個(gè)維度的拆分把服務(wù)分成小塊狀,這是微服務(wù)中"微"思想的體現(xiàn)。
2.服務(wù)獨(dú)立
服務(wù)獨(dú)立,需要相互調(diào)用提供完整業(yè)務(wù)邏輯,我需要其它服務(wù),其它服務(wù)也需要我,我為人人,人人為我,這是微服務(wù)中"服務(wù)"思想的體現(xiàn)。
3.服務(wù)調(diào)用
HTTP(S)+JSON采用輕量級(jí)通訊協(xié)議和簡單數(shù)據(jù)結(jié)構(gòu):服務(wù)間不再需要關(guān)心對(duì)方模型和實(shí)現(xiàn),僅通過事先約定好的接口來進(jìn)行數(shù)據(jù)流轉(zhuǎn)即可,這是微服務(wù)中"解耦"思想的體現(xiàn)。
4.服務(wù)部署
正因?yàn)榉?wù)獨(dú)立,所以每個(gè)服務(wù)都可以單獨(dú)部署,每個(gè)服務(wù)都可以獨(dú)立擴(kuò)展,也可以獨(dú)立建立負(fù)載。
綜上所述,微服務(wù)可以體現(xiàn)出以下幾點(diǎn)優(yōu)勢(shì):
·開發(fā)效率更高;
·溝通成本更低;
·響應(yīng)速度更快;
·迭代周期更短。
解讀:
每個(gè)微服務(wù)結(jié)構(gòu)獨(dú)立,功能專一,規(guī)模很小,功能明確,能夠被團(tuán)隊(duì)快速開發(fā)和迭代;
每個(gè)微服務(wù)之間是松耦合的,接口確定后無需關(guān)注實(shí)現(xiàn),不會(huì)產(chǎn)歧義,減少協(xié)調(diào)溝通成本;
每個(gè)微服務(wù)都可以獨(dú)立部署,快速實(shí)現(xiàn)新功能、新需求而不會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生影響。
三、Pivotal與微服務(wù)
很長一段時(shí)間以來,Pivotal都是云原生、微服務(wù)背后的巨人,這些概念被認(rèn)知程度已經(jīng)高過Pivotal自身的品牌。比如微服務(wù)火爆后被帶熱的Spring系列技術(shù),但是很多人并不知道Pivotal才是Spring技術(shù)的擁有者。
在Pivotal成立之前,Cloud Foundry一直由VMware在推動(dòng),擁有大量開源用戶。在Pivotal成立之后,正式發(fā)布Pivotal Cloud Foundry (PCF) 1.0版本。
從2016年開始,Pivotal開始支持Docker在企業(yè)環(huán)境中的運(yùn)行;也支持把Spring Cloud引入PCF平臺(tái),以實(shí)現(xiàn)微服務(wù)化的應(yīng)用。
目前Pivotal擁有Spring Boot、Spring Cloud和Spring Cloud Data Flow,用以構(gòu)建微服務(wù)、治理微服務(wù)、連接微服務(wù)數(shù)據(jù)。