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