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