ApiBoot 2.1.1.RELEASE版本发布,新增链路式日志分析

ApiBoot为接口服务而生,基于SpringBoot完成扩展、自动化配置,通过封装一系列Starter来让调用者快速集成组件,降低学习、使用门槛,提高开发效率。

ApiBoot 官网

官网地址:http://apiboot.minbox.io

ApiBoot 零侵入、链路式请求日志分析框架

ApiBoot提供单应用、微服务应用下的请求日志分析框架ApiBoot Logging,特性列表如下所示:

  • 链路:为每一个请求生成一个链路的单条或者多条请求日志信息,精准定位程序出现问题的位置。
  • 耗时:可以分析出每一个请求的耗时,改善服务的性能瓶颈
  • 异常信息:请求遇到异常,提供请求日志的异常堆栈信息记录
  • 请求参数:可以获取RequestBodyPathParam两种方式的参数
  • 响应内容:可以获取本次请求响应的内容信息。
  • 服务信息:可获取提供服务的ID、IP、Port等信息。
  • 异步通知:请求日志数据采集后通过Event/Listener方式异步通知给RPCMQRESTLocal
  • 数据分析:阈值警告、异常通知等(短信、邮件等方式,2.1.1.RELEASE版本未实现.)

ApiBoot Logging内部采用拦截器Filter组合完成一系列的操作。

  1. 如果一个请求的header信息内包含traceId(链路ID)则加入该链路,如果不存在则生成新的链路信息
  2. 如果一个请求的header信息内包含spanId(跨度ID),则使用该spanId作为parent spanId,对两个请求进行上下级关联。

无缝支持Openfeign

ApiBoot Logging支持Spring Cloud Openfeign的方式请求,在SpringCloud微服务应用中如果你发起一个Http请求,而该请求在服务端通过openfeign访问其他服务,这时ApiBoot Logging会通过openfeignInterceptor携带TraceIdSpanId到下一个服务,完成请求日志的链路信息透传。

架构设计图

ApiBoot Logging 组件架构图.png

更新日志

2.1.1.RELEASE (2019-7-16日发布)

  • ApiBoot Logging 初版发布
    • 零侵入代码设计
    • 支持链路日志输出
    • 支持SpringCloud Openfeign透传日志链路信息
    • 支持请求完成后多个Order Notice通知请求日志信息
    • 支持请求异常堆栈信息保存
    • 支持读取RequestBody内容
    • 支持读取ResponseBody内容
    • 支持请求日志关联具体服务Id
    • 支持自定义存储日志
  • ApiBoot OAuth
    • 支持Redis存储Token
    • 支持内存方式、Redis方式配置多客户端
    • 支持内存方式、Redis方式配置token有效期
  • ApiBoot Mybatis Enhance
    • 丰富示例
    • 官网文档更新

源码、文档地址

GitHub Wiki:https://github.com/minbox-projects
码云 Wiki:https://gitee.com/minbox-projects/api-boot/wikis
ApiBoot:https://gitee.com/minbox-projects/api-boot
MinBox Logging:https://gitee.com/minbox-projects/minbox-logging

ApiBoot 目前集成组件

ApiBoot提供的所有封装依赖对应第三方框架关系如下所示:

依赖名称 介绍
api-boot-starter 所有Starter的基础依赖
ApiBoot 整合案例 ApiBoot落地使用示例,是恒宇少年知识库小程序接口源码
api-boot-starter-mail ApiBoot集成阿里云邮件服务
api-boot-starter-logging-admin ApiBoot Logging日志管理端,统一接收采集
api-boot-starter-logging 零侵入、链路式日志分析框架
api-boot-starter-http-converter 集成FastJson作为格式化返回JSON
api-boot-starter-security-oauth-jwt 集成SpringSecurity、Oauth、Jwt安全、认证框架
api-boot-starter-swagger 集成Swagger2作为接口服务文档
api-boot-starter-alibaba-oss 集成阿里云Oss对象存储接口服务
api-boot-starter-alibaba-sms 集成阿里云国际短信接口服务
api-boot-starter-quartz 集成分布式定时任务框架Quartz
api-boot-starter-datasource-switch 集成支持多数据源自动切换、动态创建数据源
api-boot-starter-resource-load 资源与业务完全分离、自动化读取
api-boot-starter-message-push 推送服务,集成极光推送
api-boot-starter-rate-limiter 接口QPS限流
api-boot-starter-mybatis-enhance 集成Myabtis Enhance 持久化框架
api-boot-starter-mybatis-pageable 集成Mybatis Pageable 自动分页插件
api-boot-mybatis-enhance-maven-codegen Mybatis Enhance专属代码插件

推荐阅读更多精彩内容