普元微服務平臺EOS Platform 8全新發布

轉載本文需註明出處:微信公衆號EAWorld,違者必究。

平臺簡介:

普元新一代應用平臺EOS Platform 8已經全面擁抱微服務架構,支持分佈式架構,爲企業業務上雲提供雲原生應用的支撐。同時該版本完全支持Spring Boot應用開發、採用標準Maven、Git體系,平臺更開放。

目錄:

一、全面擁抱微服務的新平臺

二、微服務平臺特性速遞

三、支撐微服務全生命週期建設的關鍵能力

四、微服務平臺落地實踐案例

一、全面擁抱微服務的新平臺

普元開發平臺擁有廣泛的行業客戶羣體

普元應用開發平臺作爲國內領先的技術平臺,已經廣泛應用到金融、通信、能源、政府、大型企業等行業客戶。典型客戶包括工行、建行、國開、郵儲、興業等。同時通過與華爲公司的合作,已經廣泛應用到40多個國家。基於2015年《財富》中國前50強中,已經有28家在使用包括開發平臺在內的普元產品。

企業數字化轉型促使企業架構形態發生變化

隨着互聯網業務的高速發展,企業需要迫切的進行數字化轉型,導致對企業IT架構以及企業應用架構需要快速響應業務需求,滿足海量的併發請求。研發模式從瀑布模型轉向爲敏捷、到基於開發運維一體化的DevOps;應用架構也從傳統SOA架構向微服務架構轉型,從單體應用到微服務應用。

這迫切需要對企業的IT進行整體架構升級,支持分佈式、雲化、開發運維一體化。普元結合多年企業架構的經驗,整體規劃普元分佈式平臺總體架構。

普元分佈式平臺總體架構

分佈式平臺主要包括四大部分:微服務平臺(EOS Platform 8)、DevOps平臺、容器雲平臺、監控平臺。分佈式雲平臺實現應用的敏捷開發、交付,可靠運行,實現業務敏捷創新的IT技術支撐。

目前普元已經研發出三個產品:支持開發運維一體化的DevOps 5.2產品、基於Docker+K8s的容器雲5.0產品、基於Spring Cloud體系的微服務平臺EOS Platform 8.0。

普元微服務平臺EOS Platform 8產品定位

普元微服務平臺EOS Platform 8 邏輯架構

作爲完整的微服務平臺,需要系統性的提供開發工具(腳手架)與規範、運行能力支撐、管理監控三大塊的能力。

普元微服務平臺整體包括12個功能組件:Server(運行環境)、IDE(集成開發環境)、Governor(微服務管理平臺)、IAM(統一認證平臺)、Coframe(應用基礎框架)、API Gateway(API網關)、Registry Center(註冊中心)、Configuration Center(配置中心)、Log Center(日誌中心)、APM(應用監控中心)、斷路器監控中心、SDK(軟件開發工具包);

每個具體功能組件主要提供的能力如下:

  1. IDE(集成開發環境):IDE是集面向微服務應用的開發、組裝、調試、維護、部署、管理和發佈於一體的集成開發環境,提供了前端項目、後端項目、混合項目三種項目創建方式,可滿足微服務前後分離、SOA架構兩種模式。
  2. Server (運行環境):Server是支撐微服務、SOA應用運行的基礎環境,提供了日誌、異常處理、負載均衡、熔斷限流、應用發現等一系列基礎能力。
  3. Governor(微服務管理平臺):Governor 是一套微服務管理平臺,提供了:系統管理、應用管理、配置管理、日誌查看、微服務監控等系列功能,負責對EOS開發的微服務應用、Governor 平臺本身進行管理。
  4. IAM (統一認證中心):IAM(Identity and Access Management 的縮寫),即“身份識別與訪問管理”,具有單點登錄,認證管理和審計、租戶管理、動態授權等功能。
  5. Coframe (應用基礎框架):Coframe是產品自帶的開源應用基礎框架,提供了資源管理、權限管理、用戶以及角色管理等業務應用基礎能力,用戶可以根據自己的需要進行二次開發與擴展。
  6. API Gateway(API網關):API Gateway是所有應用、終端、消費方統一接入系統微服務的入口。網關提供 REST/HTTP 的訪問通道,可以對API進行註冊、授權、路由配置、報文轉換配置等,同時具備一套完整的API接口調用監控體系。
  7. Registry Center (註冊中心):註冊中心提供服務發現以及服務註冊的能力,各微服務啓動時會向註冊中心註冊服務信息(例如IP、端口、微服務名稱等),註冊中心存儲這些信息便於服務發現與尋址。
  8. Configuration Center (配置中心):配置中心能夠集中化管理應用不同環境和不同集羣的配置。在 EOS Platform 8.0中,Governor(微服務管理平臺)與配置中心進行集成,託管在配置中心的應用,管理人員可以通過 Governor 對相關應用進行配置修改和配置發佈並實時推送。
  9. Log Center(日誌中心):日誌中心是收集、緩衝、存儲、展示的標準日誌中心架構,收集各應用產生的本地日誌數據,進行彙總,供最終檢索。
  10. Application Performance Management(應用監控中心):應用監控中心是適用於分佈式系統的APM(應用程序性能監視器)工具,提供對分佈式應用的性能指標監控能力。
  11. Circuit Breaker Monitoring Center(斷路器監控中心):斷路器監控中心可定義一系列監控指標項,如:線程池、隊列、請求數、成功數、失敗數等,並可按應用、系統瀏覽監控信息。
  12. SDK(軟件開發工具包):應用開發過程中提供了一系列SDK使應用開發更方便和統一。包括服務發佈相關的接口聲明註解、功能權限校驗註解,服務消費相關的客戶端聲明註解、熔斷Fallback註解,服務實現相關的異常、日誌SDK以及持久化相關的Mybatis、JPA 等內容。

普元微服務平臺EOS Platform 8擁抱Spring Cloud體系

平臺從技術棧的選型上,本着更開放的原則以及普元開源技術的選型標準,全面擁抱Spring Cloud體系,使得平臺有更好的開放性,適用性更廣泛。

具體各個組件的技術選型如下:

  • 註冊中心:Spring Cloud Eureka
  • 配置中心:Ctrip Apollo
  • 日誌中心:FileBeat+ELK+Kafka
  • 監控中心:SkyWalking
  • API網關:Spring Boot+自研
  • 微服務容器:Spring Boot、Spring Cloud Feign、Spring Cloud Ribbon、Spring Cloud Hystrix
  • 前端:VUE 、NUI(普元自研基於JQuery的前端框架)
  • 訪問認證:基於OAuth2協議的自研IAM組件

二、微服務平臺特性速遞

普元微服務平臺EOS Platform 8 六大特性

  • 特性一:雙架構支持 平臺支持微服務架構應用、同時支持SOA架構應用; 開發模式支持前後端分離開發模式、同時支持前後端混合開發模式;
  • 特性二:可變部署架構 獨立的配置中心、監控中心、日誌中心、註冊中心、API網關等組件,滿足企業自身不同的環境;
  • 特性三:ToC體驗 基於VUE的交互方案,支持企業打造互聯網體驗的微服務應用;
  • 特性四:全方位服務管控與治理 全面的服務、日誌、鏈路等監控能力,爲微服務應用運行提供全方位管控能力; 同時提供從域、系統、應用、實例、API等多級的服務治理模型,便於全面梳理企業軟件資產;
  • 特性五:豐富業務組件 提供IAM、Coframe等基礎業務組件,加速微服務應用構建;
  • 特性六:完善生態體系 支持與普元DevOps、容器雲產品的無縫集成; 支持EOS7.6項目(SOA架構)快速遷移到EOS Platform 8微服務版本;

三、支撐微服務全生命週期建設的關鍵能力

開發期-微服務平臺關鍵能力支撐

開發期,主要提供4方面能力:

  1. 一體化開發工具 提供微服務應用開發、調試、編譯等一體化功能;IDE對微服務開發的一些最佳實踐做了特定的固化,例如固定目錄下的配置文件內容會自動同步到配置中心管理;
  2. 標準Maven項目模板 IDE支持前端、後端、混合三種項目類型,真沒每種項目類型都會有特定項目模板; 基於項目模板可以快速支持其他的IDE工具開發,滿足開發者的工具選擇的訴求;
  3. 服務快速發佈 支持Rest服務發佈,支持WebService服務發佈; 提供服務發佈嚮導,支持邏輯流一鍵發佈Rest、WebService服務,降低開發人員重複勞動;
  4. 豐富SDK 應用開發過程中提供了一系列SDK使應用開發更方便和統一。包括服務發佈相關的接口聲明註解、功能權限校驗註解,服務消費相關的客戶端聲明註解、熔斷Fallback註解,服務實現相關的異常、日誌SDK以及持久化相關的Mybatis、JPA 等內容。

集成發佈期-微服務平臺關鍵能力支撐

集成發佈這塊,微服務平臺非常方便的與普元DevOps產品結合,使用DevOps中的持續集成、持續發佈能力,支持微服務應用的一鍵部署。

  • 持續集成:對微服務平臺開發的微服務,支持圖形化定義持續集成,並提供豐富的Maven編譯、代碼安全掃描、單元測試、上傳Nexus倉庫等能力;針對已經定義好的構建定義,提供多種觸發機制:定時執行、代碼提交觸發、手工執行等。
  • 持續發佈:通過DevOps提供的發佈流水線,可以快速定義不同環境(開發環境、測試環境、預發環境、生產環境)下的流水線,快速將微服務一鍵發佈到不同的目標資源上(物理機、虛擬機、容器雲)。

運行期-微服務平臺關鍵能力支撐

運行期,主要提供4方面能力:

  1. 支持No JEE、JEE環境 微服務應用支持FatJar與傳統WAR兩種模式;基於FatJar是以獨立進程方式運行,WAR支持部署在傳統應用服務器之上;
  2. 提供高可靠、高性能組件 平臺提供高可靠平臺組件,主要包括:API網關、註冊中心、配置中心、日誌中心、應用監控中心、斷路器監控中心; 所有平臺組件均提供高可靠的部署方式,避免存在單點;除了API網關外,其它組件的下線均不影響業務的運行; 平臺組件在高性能方面做了可靠驗證,其中基於API網關的技術已經在某客戶實現了1億次/天的業務交易量(和淘寶在一個調用量級);
  3. 開發的技術架構體系 全面擁抱支持Spring Boot體系;同時兼容EOS7.6版本的遷移升級;
  4. 適配底層多種基礎設施 微服務應用支持部署多種基礎設施:物理機、虛擬機、容器、各種IaaS平臺、Caas容器雲平臺等。

管控期-微服務平臺關鍵能力支撐

管控期,主要包括微服務管理、微服務監控兩部分能力。

  1. 微服務管理 主要提供域管理、系統管理、應用管理、服務管理、配置管理、API管理,上面這些內容形成了軟件資產化的管理能力; 同時提供針對業務應用的配置管理、網關路由管理、用戶權限管理等;
  2. 微服務監控 提供系統拓撲、鏈路跟蹤、健康檢查、熔斷限流、API調用、流量控制、黑白名單等;

四、落地實踐案例及產品展示

截止目前,我們已經爲郵儲銀行、國開行、中國人保壽險、太平洋保險、成都飛機工業、國家電力等大型客戶,涉及到金融、保險、軍工、能源等行業進行了平臺的建設落地工作。

最後爲大家展示微服務管理的部分界面:

微服務管理平臺首頁是一個DashBoard:主要概覽的展示了系統數、應用數、服務數;給出了網關的兩個統計圖,一個是近12小時網關調用量,另外一個是近1小時網關調用Top5。

界面展示:微服務管理平臺-概覽

系統管理界面,主要展示了一個域下所有的系統。

界面展示:微服務管理平臺-系統管理

應用管理,給出了一個具體系統下面所有的應用,包含應用的狀態等基本信息。

界面展示:微服務管理平臺-應用管理

針對應用提供應用分組能力,方便應用的藍綠髮布。

界面展示:微服務管理平臺-應用概覽

針對應用的分組,可以設置應用的路由策略。

界面展示:微服務管理平臺-應用路由

查看當前應用對外提供哪些服務。

界面展示:微服務管理平臺-服務提供

查看當前應用消費了哪些其它應用下的服務。

界面展示:微服務管理平臺-服務消費

精選提問:

問1:目前普元已經研發出三個產品:支持開發運維一體化的DevOps 5.2產品、基於Docker+K8s的容器雲5.0產品、基於Spring Cloud體系的微服務平臺EOS Platform 8.0。請問,這三個是互補關係,還是平行關係?

答:目前三個產品之間是互補的關係,但我們在三個產品規劃期是作爲整體的PaaS方案來對待,保證了三個產品既可以獨立運行,又可以相互配合使用,避免了三者之間的緊耦合。舉例來講基於微服務平臺EOS Platform 8.0開發的微服務可以快速通過DevOps產品實現持續集成和持續發佈的能力。

問2:我想知道:api、網關,具體是基於spring boot 和什麼實現的;網關路由、監控、熔斷,這些都是怎麼做的?

答:網關是基於SpringBoot+自研實現的,沒有使用目前開源的技術;監控、熔斷的技術實現可以參考上面分享的內容,有專門的技術選型支撐的。

問3:元數據怎麼管理的?

答:在微服務體系下,針對整個元數據的管理,可以看做是服務治理;目前在普元提供的微服務管理平臺上,已經提供了從域、系統、應用、實例分組、實例、API多個維度的服務資產的管理能力;可以方便實現對整個企業服務資產的元數據管理。

問4:灰度發佈是怎麼實現的呢?部署多套應用的話,流控/熔斷是基於單臺還是全局的呢?

答:針對灰度發佈,平臺提供了應用路由的能力,可以指定請求的路由到那些實例分組上;部署多套應用,全局的流控是在網關層面可以配置;如果需要在單臺上做流控,可以使用平臺預留的擴展能力,二次開發實現。

問5:請問,服務中針對數據庫層的操作,純sql,mybatis還是jpa,哪一個方案更適合微服務?

答:這塊可以結合團隊的人員熟悉度自由選擇,你提到的三種方式都沒有任何問題的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章