微服務解決方案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
在Service-Center前端進行API測試
Service-Center 現在支援在頁面上對服務的API進行測試。具體請參考:
http://servicecomb.incubator.apache.org/docs/service-center-ui/
下載地址:
Service-Center: http://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-Center: http://servicecomb.incubator.apache.org/release/service-center-release-notes/
Java-chassis: http://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 內部架構全景圖