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

    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控制台截图
      avatar

posted @ 2019-09-09 15:14  起床oO  阅读(999)  评论(0编辑  收藏  举报