天天看點

SOFABoot架構(螞蟻金服)

SOFABoot架構的簡單搭建

先簡單介紹一下SOFA Boot ,SOFA Boot 是基于 Spring Boot 的開發架構,是螞蟻金服下的一款開源架構,用于快速、靈活地開發 Spring 應用程式,特别适合建構微服務系統

提供了諸如 Readiness Check,類隔離,日志空間隔離等等能力。

簡單來說包括幾個主要功能:

1 增強 Spring Boot 的健康檢查能力

2 提供類隔離的能力(防止jar包沖突問題)

3 日志空間隔離能力(列印日志路徑分别固定)

4 SOFA 中間件的內建管理等

今天就先簡單建立一個小demo,深層次的之後再說。

1.sofaBoot項目建構在springboot項目基礎上,可通過start.spring.io建立springboot項目。這個之後會詳細介紹一下springboot架構。

2. 本地maven配置檔案 setting.xml添加配置資訊,如下:

<profile>
    <id>default</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
        <repository>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>maven-snapshot</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <id>maven-snapshot</id>
            <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </pluginRepository>
    </pluginRepositories>
</profile>
           

3. 解壓本地下載下傳好的springboot的項目,修改pom檔案,

替換:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>${spring.boot.version}</version>
    <relativePath/> 
</parent>
           

為:

<parent>
    <groupId>com.alipay.sofa</groupId>
    <artifactId>sofaboot-dependencies</artifactId>
    <version>${sofa.boot.version}</version>
</parent>
           

各版本springboot項目對應sofaboot項目,版本對應見官網。

添加依賴資訊:

<dependency>
    <groupId>com.alipay.sofa</groupId>
    <artifactId>healthcheck-sofa-boot-starter</artifactId>
</dependency>

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
</dependency>
           

4.

application.properties配置檔案中加入:

# Application Name
spring.application.name=SOFABoot Demo
# logging path
logging.path=./logs
           

5.運作項目同springboot,會發現控制台原本spring boot變成了sofaboot,

SOFABoot架構(螞蟻金服)

測試:

SOFABOOT 3.X之前—>浏覽器輸入:http://localhost:8080/sofaboot/versions

SOFABOOT 3.X之後—>浏覽器輸入:http://localhost:8080/actuator/versions

檢視sofa中間件版本資訊(這裡我修改了端口号)

SOFABoot架構(螞蟻金服)

健康檢查資訊可在項目根目錄下配置檔案中設定的./logs檔案中檢視

SOFABoot整體項目可在GitHub中檢視:

GitHub位址

這樣一個簡單的sofaboot架構就成功了,當然sofaboot更主要的多子產品開發及rpc等中間件後期會發一些介紹及配置。