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

ApiBoot 零侵入、链路式请求日志分析框架
ApiBoot提供单应用、微服务应用下的请求日志分析框架ApiBoot Logging,特性列表如下所示:
链路:为每一个请求生成一个链路的单条或者多条请求日志信息,精准定位程序出现问题的位置。耗时:可以分析出每一个请求的耗时,改善服务的性能瓶颈异常信息:请求遇到异常,提供请求日志的异常堆栈信息记录请求参数:可以获取RequestBody、PathParam两种方式的参数响应内容:可以获取本次请求响应的内容信息。服务信息:可获取提供服务的ID、IP、Port等信息。异步通知:请求日志数据采集后通过Event/Listener方式异步通知给RPC、MQ、REST、Local。数据分析:阈值警告、异常通知等(短信、邮件等方式,2.1.1.RELEASE版本未实现.)
ApiBoot Logging内部采用拦截器、Filter组合完成一系列的操作。
- 如果一个请求的
header信息内包含traceId(链路ID)则加入该链路,如果不存在则生成新的链路信息- 如果一个请求的
header信息内包含spanId(跨度ID),则使用该spanId作为parent spanId,对两个请求进行上下级关联。
无缝支持Openfeign
ApiBoot Logging支持Spring Cloud Openfeign的方式请求,在SpringCloud微服务应用中如果你发起一个Http请求,而该请求在服务端通过openfeign访问其他服务,这时ApiBoot Logging会通过openfeign的Interceptor携带TraceId、SpanId到下一个服务,完成请求日志的链路信息透传。
架构设计图

更新日志
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
- 丰富示例
- 官网文档更新
ApiBoot 目前集成组件
ApiBoot提供的所有封装依赖对应第三方框架关系如下所示:
| 依赖名称 | 介绍 |
|---|---|
| api-boot-starter | 所有Starter的基础依赖 |
| ApiBoot 整合案例 | ApiBoot落地使用示例,是恒宇少年知识库小程序接口源码 |
| api-boot-starter-mail | ApiBoot集成阿里云邮件服务 |
| 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专属代码插件 |
ApiBoot是一款基于SpringBoot的框架,提供一系列Starter以简化组件集成,提升开发效率。特性包括零侵入的日志分析、请求日志链路跟踪、Openfeign支持等。官网:http://apiboot.minbox.io。

257

被折叠的 条评论
为什么被折叠?



