1. 程式人生 > >微服務解決方案Apache ServiceComb(incubating) 釋出新版本

微服務解決方案Apache ServiceComb(incubating) 釋出新版本

       近期,微服務解決方案Apache ServiceComb(incubating) 捷報頻傳,除了LC3大會ServiceComb Workshop成功舉辦之外,Java-Chassis 1.0.0-m2、Service-Center 1.0.0-m2和Saga 0.2.0版本順利通過投票,完成發版。

版本變更概覽

Java-Chassis

  • 服務間通訊提供檔案流傳輸能力,支援音樂、圖片等多媒體場景。
  • 在服務級別QPS控制基礎上,新增支援API級別QPS控制
  • 增加腳手架和start.servicecomb.io,支援使用者快速構建工程,提供完整的開箱即用能力
  • 新增支援使用Gradle構建
  • 非同步程式設計模型支援CompletableFuture和AsycRestTemplate
  • 擴充套件Swagger支援類迴圈依賴,允許服務呼叫時的出入引數中存在類迴圈依賴場景
  • 支援使用hibernate註解進行引數校驗
  • 新增支援Http2協議
  • 實現錯誤注入介面,允許通過攔截服務請求構造異常場景
  • 新增服務Dev執行模式,開啟Dev模式時,支援契約動態修改
  • 實現優雅停機,關閉服務時進行反註冊,確保完成已接受請求並完整釋放資源

Service-Center

  • 支援獲取Service-Center的服務和例項資訊,在叢集部署場景下,可動態發現Service Center例項
  • 在增刪改查單服務和例項的基礎上,新增支援批量刪除服務和例項介面
  • 支援使用前端對SwaggerAPI進行測試
  • 新增支援IPv6
  • 支援頁面通過前端代理訪問Service-Center,允許前端和後端監聽在不同的網路平面
  • 前端使用的JS依賴全部本地化,允許在無外網環境下使用Service Center前端

Saga

  • 支援子事務失敗重試
  • 支援gRPC SSL通訊
  • 支援使用SpringBoot 2.0

部分顆粒度特性

腳手架功能

在微服務的開發過程中,由於涉及到眾多的微服務治理、分散式追蹤等功能的配置,開發人員需要耗費較多的時間來進行工程配置,為了提高業務側的開發效率,ServiceComb提供了兩種快速構建工程的方法:

1.   使用maven archetype的方式,快速構建預置的微服務工程,具體請參考:https://github.com/apache/incubator-servicecomb-java-chassis/blob/master/archetypes/README.md

該方式目前提供business-service-jaxrs, business-service-springmvc,business-service-pojo,business-service-spring-boot-starter四種模板。

2.   通過http://start.servicecomb.io/,在該網頁上配置需要的元件和功能並生成工程模板。

ServiceComb java-chassis-dependencies集中管理了所有必須的依賴,start.servicecomb.io生成出來的專案既包含示例程式碼,也包含必要配置的以及微服務治理所需的配置,批量生成所有的微服務後,使用者只需要專注於填充業務程式碼。完成開發後,部署ServiceCenter,啟動微服務,一個微服務應用就執行起來了,之後只需要專注於運維,後期也可通過動態配置,隨時修改配置值調整治理能力。腳手架特性和集中依賴管理一起提供了ServiceComb的開箱即用能力。

支援檔案與流傳輸

現在Java-Chassis可以支援VertxREST通道中傳輸檔案和流,以此支援音樂、圖片等多媒體內容。後期會增加其它傳輸模式的檔案傳輸支援。具體參考:

https://huaweicse.github.io/servicecomb-java-chassis-doc/zh_CN/general-development/file-upload.html

https://huaweicse.github.io/servicecomb-java-chassis-doc/zh_CN/general-development/file-download.html

在Service-Center前端進行API測試

Service-Center 現在支援在頁面上對服務的API進行測試。具體請參考:

http://servicecomb.incubator.apache.org/docs/service-center-ui/

下載地址:

Service-Centerhttp://servicecomb.incubator.apache.org/release/service-center-downloads/

Java-chassis: http://servicecomb.incubator.apache.org/release/java-chassis-downloads/

Saga: http://servicecomb.incubator.apache.org/release/saga-downloads/

版本說明: 

Service-Centerhttp://servicecomb.incubator.apache.org/release/service-center-release-notes/

Java-chassishttp://servicecomb.incubator.apache.org/release/java-chassis-release-notes/

Saga:  http://servicecomb.incubator.apache.org/release/saga-release-notes/

ServiceComb相關資料

官方網站 :   http://servicecomb.incubator.apache.org/

加入社群: https://servicecomb.incubator.apache.org/cn/docs/join_the_community

JIRA:          https://issues.apache.org/jira/browse/SCB

郵件列表 :   [email protected]

附:ServiceComb 內部架構全景圖