上期回顧
作為一個網際網路公司或提供網際網路服務的公司,其核心的技術資産就是雲端平台和雲端平台上的服務。
我們通常所說的雲服務或雲平台廣義上是一個概念,但其實内部是兩個部分。
- 支撐雲服務運作的硬體和軟體系統環境(雲架構平台,簡稱雲平台);
- 實作業務邏輯,支援客戶應用,對外提供服務的應用服務平台(雲服務平台,簡稱雲服務)。
在 《雲服務平台的架構及優勢(上)》 ,我們解讀了雲平台的選擇與優勢,本期我們将為您解讀關鍵詞“雲服務”。
雲服務——選擇
雲服務的核心重點在于架構的設計。
軟體架構是一個包含各種元件的軟體系統結構,這些元件包括但不限于:接口服務,應用服務,資料庫服務,緩存服務,消息服務,日志服務,存儲服務,網絡及通訊服務等等, 它們彼此存在關聯或和平台環境存在關聯。系統架構設計的目标和目的就是協調和解決這些元件的邊界相關點。
目前,我們的軟體服務已經進入雲計算時代,一個系統所服務的對象已經不再限于單個項目或企業,也不再限于單一行業或同類使用者,甚至服務提供者都無法預知消費服務的對象。
在這樣的服務消費時代背景下,一個需要全方位,多角度,多元度提供服務的架構方案已成為必然,微服務架構也自然應運而生。
微服務架構差別于傳統架構的重要特點:
· 子產品以服務劃分而非項目;
· 子產品獨立部署且互相隔離;
· 子產品通訊用輕量級API調用。
時代必然,我們的雲服務選擇的是微服務架構。
雲服務——解讀
- 服務拆分
服務按業務拆分這是水準次元的拆分,服務按技術實作前後端分離這是垂直次元的拆分,水準垂直兩個次元的拆分把服務分成小塊狀,這是微服務中"微"思想的展現。
- 服務獨立
服務獨立,需要互相調用提供完整業務邏輯,我需要其它服務,其它服務也需要我,我為人人,人人為我,這是微服務中"服務"思想的展現。
- 服務調用
HTTP(S)+JSON采用輕量級通訊協定和簡單資料結構:服務間不再需要關心對方模型和實作,僅通過事先約定好的接口來進行資料流轉即可,這是微服務中"解耦"思想的展現。
- 服務部署
正因為服務獨立,是以每個服務都可以單獨部署,每個服務都可以獨立擴充,也可以獨立建立負載。
綜上所述,微服務可以展現出以下幾點優勢:
· 開發效率更高;
· 溝通成本更低;
· 響應速度更快;
· 疊代周期更短。
解讀:
每個微服務結構獨立,功能專一,規模很小,功能明确,能夠被團隊快速開發和疊代;
每個微服務之間是松耦合的,接口确定後無需關注實作,不會産歧義,減少協調溝通成本;
每個微服務都可以獨立部署,快速實作新功能、新需求而不會對整個系統産生影響。
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,用以建構微服務、治理微服務、連接配接微服務資料。
雲原生Java的标準
Nebulogy遵循雲原生十二要素,提供基于微服務架構的PaaS平台,同時通過與Pivotal合作,不僅達成産品層面的無縫內建,同時也得以應用靈活和DevOps等新型軟體開發方法,為您提供一站式的服務,幫您設計高性能的微服務架構。