SOFABoot&SOFATracer
SOFABoot快速开始
-
SOFABoot介绍
- SOFABoot 是蚂蚁金服开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,类隔离,日志空间隔离等能力。在增强了 Spring Boot 的同时,SOFABoot 提供了让用户可以在 Spring Boot 中非常方便地使用 SOFA 中间件的能力。
-
SOFABoot功能描述
-
扩展 Spring Boot 健康检查的能力:在 Spring Boot 健康检查能力基础上,提供了 Readiness Check 的能力,保证应用实例安全上线。
-
提供模块化开发的能力:基于 Spring 上下文隔离提供模块化开发能力,每个 SOFABoot 模块使用独立的 Spring 上下文,避免不同 SOFABoot 模块间的 BeanId 冲突。
-
增加模块并行加载和 Spring Bean 异步初始化能力,加速应用启动;
-
增加日志空间隔离的能力:中间件框架自动发现应用的日志实现依赖并独立打印日志,避免中间件和应用日志实现绑定,通过 sofa-common-tools 实现。
-
增加类隔离的能力:基于 SOFAArk 框架提供类隔离能力,方便使用者解决各种类冲突问题。
-
增加中间件集成管理的能力:统一管控、提供中间件统一易用的编程接口、每一个 SOFA 中间件都是独立可插拔的组件。
-
提供完全兼容 Spring Boot的能力:SOFABoot 基于 Spring Boot 的基础上进行构建,并且完全兼容 Spring Boot。
-
-
环境准备
- Java:JDK7或JDK8
- Maven: 3.2.5及以上
-
引入SOFABoot
-
新建一个SprintBoot项目
-
将pom.xml中的spring-boot-starter-parent替换成sofaboot-dependencies,并添加依赖
<parent> <groupId>com.alipay.sofa</groupId> <artifactId>sofaboot-dependencies</artifactId> <version>3.2.0</version> </parent> <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>
-
修改application.properties文件
# Application Name spring.application.name=SOFABoot Demo # logging path logging.path=./logs
-
-
运行SOFABoot
- mvn spring-boot:run
- 访问 http://localhost:8080/actuator/readiness
- 访问结果:
success true id 7 content "SampleRestController"
-
查看日志
./logs ├── health-check │ ├── sofaboot-common-default.log │ └── sofaboot-common-error.log ├── infra │ ├── common-default.log │ └── common-error.log └── spring.log
- 如果应用启动失败或者健康检查返回失败,可以通过相应的日志文件找到错误的原因,有些需要关注 common-error.log 日志
-
SOFATracer
- 添加SOFATracer依赖
<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-sofa-boot-starter</artifactId> </dependency>
- 修改application.properties文件
com.alipay.sofa.tracer.zipkin.enabled=true com.alipay.sofa.tracer.zipkin.baseUrl=http://localhost:9411
- 配置Zipkin依赖
<!-- zipkin依赖 --> <dependency> <groupId>io.zipkin.zipkin2</groupId> <artifactId>zipkin</artifactId> <version>2.11.12</version> </dependency> <dependency> <groupId>io.zipkin.reporter2</groupId> <artifactId>zipkin-reporter</artifactId> <version>2.7.13</version> </dependency>
- 启动Zipkin
java -jar zipkin-server-2.12.9-exec.jar
-
访问http://localhost:8080/sofatracer/springmvc
-
访问http://localhost:9411/zipkin/traces/
-
zipkin控制台截图
- 添加SOFATracer依赖