前言
上文介绍了 SOFARPC 的简单使用。在生产环境中,通常会将 SOFARPC 整合到 SpringBoot 中。蚂蚁金服提供了 SOFABoot 框架,SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等等能力。
在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力。当前 SOFABoot 的 2.3.1 版本是基于 Spring Boot 1.4.2.RELEASE 来构建的。
正文
1. 功能描述
SOFABoot 在 Spring Boot 的基础上,提供了以下能力:
1.1. 扩展 Spring Boot 的健康检查
在 Spring Boot 健康检查能力的基础上,提供了 Readiness Check 的能力,保证应用实例安全上线。
1.2. 日志空间隔离能力
中间件框架自动发现应用的日志实现依赖并独立打印日志,避免中间件和应用日志实现绑定,通过 sofa-common-tools 实现。
1.3. 提供类隔离的能力
基于 SOFAArk 框架提供类隔离能力,方便使用者解决各种类冲突问题。
1.4. 中间件的集成管理
统一管控、提供中间件统一易用的编程接口、每一个 SOFA 中间件都是独立可插拔的组件。
1.5. 完全兼容 Spring Boot
SOFABoot 基于 Spring Boot 的基础上进行构建,并且完全兼容 Spring Boot。
2. 快速开始
2.1. 环境准备
要使用 SOFABoot,需要先准备好基础环境,SOFABoot 依赖以下环境:
- JDK7 或 JDK8
- 需要采用 Apache Maven 3.2.5 或者以上的版本来编译
2.2. 创建工程
SOFABoot 是直接构建在 Spring Boot 之上,因此可以使用 Spring Boot 的工程生成工具来生成。添加一个 Web 的依赖,以便最后在浏览器中查看效果。
2.3. 引入 SOFABoot
在创建好一个 Spring Boot 的工程之后,接下来就需要引入 SOFABoot 的依赖。首先,需要将上文中生成的 Spring Boot 工程的 zip 包解压后,修改 maven 项目的配置文件 pom.xml。
替换 spring-boot-starter-parent 为相应版本的 sofaboot-dependencies,例如:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
替换为:
<parent>
<groupId>com.alipay.sofa</groupId>
<artifactId>sofaboot-dependencies</artifactId>
<version>2.3.1</version>
</parent>
2.4. SOFABoot 健康检查
引入相关依赖
添加 SOFABoot 健康检查扩展能力的依赖:
<dependency>
<groupId>com.alipay.sofa</groupId>
<artifactId>healthcheck-sofa-boot-starter</artifactId>
</dependency>
最后,在工程的 application.properties 文件下添加一个 SOFABoot 必须要使用的参数。
- spring.application.name:用于标示当前应用的名称
- logging path:用于指定日志的输出目录
# Application Name
spring.application.name=SOFABoot Example
# logging path
logging.path=.