1. 程式人生 > >.net core 對標 Spring Cloud Alibaba

.net core 對標 Spring Cloud Alibaba

目錄


在這裡插入圖片描述

強大的Java陣營

在java陣營平臺下,提提微服務,必然言必稱Spring Cloud

!!最近java陣營又有好訊息傳來,在2018年10月31日的凌晨,阿里巴巴的微服務開源架構Spring Cloud Alibaba正式入駐了Spring Cloud官方孵化器,並在maven中央庫釋出了第一個版本。
下面是華麗的分割線,我不想說話了!


介紹(以下摘自github

Spring Cloud Alibaba 致力於提供微服務開發的一站式解決方案。此專案包含開發分散式應用微服務的必需元件,方便開發者通過 Spring Cloud 程式設計模型輕鬆使用這些元件來開發分散式應用服務。

依託 Spring Cloud Alibaba,您只需要新增一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里微服務解決方案,通過阿里中介軟體來迅速搭建分散式應用系統。

主要功能

  • 服務限流降級:預設支援 Servlet、RestTemplate、Dubbo 和 RocketMQ 限流降級功能的接入,可以在執行時通過控制檯實時修改限流降級規則,還支援檢視限流降級 Metrics 監控。
  • 服務註冊與發現:適配 Spring Cloud 服務註冊與發現標準,預設集成了 Ribbon 的支援。
  • 分散式配置管理:支援分散式系統中的外部化配置,配置更改時自動重新整理。
  • 阿里雲物件儲存:阿里雲提供的海量、安全、低成本、高可靠的雲端儲存服務。支援在任何應用、任何時間、任何地點儲存和訪問任意型別的資料。

更多功能請參考 Roadmap

元件:

Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Nacos:一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。

AliCloud OSS: 阿里雲物件儲存服務(Object Storage Service,簡稱 OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲端儲存服務。您可以在任何應用、任何時間、任何地點儲存和訪問任意型別的資料。

更多元件請參考 Roadmap

如何構建

  • master 分支對應的是 Spring Boot 2.x,最低支援 JDK 1.8。
  • 1.x 分支對應的是 Spring Boot 1.x,最低支援 JDK 1.7。

Spring Cloud 使用 Maven 來構建,最快的使用方式是將本專案clone到本地,然後執行以下命令:

./mvnw install

執行完畢後,專案將被安裝到本地 Maven 倉庫。

如何使用

如何引入依賴

專案已經發布了第一個版本,版本 0.2.0.RELEASE 對應的是 Spring Boot 2.x 版本,版本 0.1.0.RELEASE 對應的是 Spring Boot 1.x 版本。

如果需要使用已釋出的版本,在 dependencyManagement 中新增如下配置。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>0.2.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

然後再 dependencies 中新增自己所需使用的依賴即可使用。

如果您想體驗最新的 BUILD-SNAPSHOT 的新功能,則可以將版本換成最新的版本,但是需要在 pom.xml 中配置 Spring BUILDSNAPSHOT 倉庫,注意: SNAPSHOT 版本隨時可能更新

<repositories>
    <repository>
        <id>spring-snapshot</id>
        <name>Spring Snapshot Repository</name>
        <url>https://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

Reference Doc

目錄

Nacos Config

ACM

演示 Demo

為了演示如何使用,Spring Cloud Alibaba 專案包含了一個子模組spring-cloud-alibaba-examples。此模組中提供了演示用的 example ,您可以閱讀對應的 example 工程下的 readme 文件,根據裡面的步驟來體驗。

Example 列表:

Sentinel Example

Nacos Config Example

Nacos Discovery Example

AliCloud OSS Example

AliCloud ANS Example

AliCloud ACM Example

版本管理規範

專案的版本號格式為 x.x.x 的形式,其中 x 的數值型別為數字,從0開始取值,且不限於 0~9 這個範圍。專案處於孵化器階段時,第一位版本號固定使用0,即版本號為 0.x.x 的格式。

由於 Spring Boot 1 和 Spring Boot 2 在 Actuator 模組的介面和註解有很大的變更,且 spring-cloud-commons 從 1.x.x 版本升級到 2.0.0 版本也有較大的變更,因此我們使用了兩個不同分支來分別支援 Spring Boot 1 和 Spring Boot 2:

  • 0.1.x 版本適用於 Spring Boot 1
  • 0.2.x 版本適用於 Spring Boot 2

專案孵化階段,專案版本升級機制如下:

  • 功能改動的升級會增加第三位版本號的數值,例如 0.1.0 的下一個版本為0.1.1。

結語

所謂的對標,本章並沒有,不過後續我會逐步整理出來。
畢竟 .net core 平臺才2~3年時間,相信時間的力量吧!!!

引用連結

  1. 口袋程式碼倉庫
  2. 線上計算器
  3. 本節原始碼:github