KnowFramework是滴滴基于开源技术组件构建Paas服务体系过程中,沉淀的业务无关的通用技术能力组件库
APACHE-2.0 License
KnowFramework是滴滴基于开源技术组件构建Paas服务体系过程中沉淀的业务无关通用技术能力组件库。组件设计遵从简单易用,轻量高效,低耦合、高扩展的设计理念,核心组件如下:
遵从open-telemetry 规范的可观性SDK组件库,融入Grafana生态,为业务应用提供低门槛的Metrics+Log+Trace观测能力。详情参见:kf-observability/README.md
HttpClient组件:
根据需要,调用HttpUtils类对应方法,即可自动在Http头注入对应符合OpenTelemetry规范的上下文信息。
Servlet Filter 组件
作为Http网关拦截入口,用于解析 & 注入Http头部符合OpenTelemetry规范的上下文信息,构建对应span,并对请求处理过程是否出现异常与非200状态码进行监控。
Filter 仅对 Http 响应状态码为非 200,进行错误标注,对于应用内置状态码不做对应校验控制。
Spring AOP 组件
作为对Spring应用内部方法调用拦截入口,用于解析 & 注入符合OpenTelemetry规范的上下文信息,构建对应span,并对方法处理过程是否出现异常进行监控。
Mybatis Interceptor 组件
作为对Mybatis内部SQL调用拦截入口,用于解析 & 注入符合OpenTelemetry规范的上下文信息,构建对应span,并对SQL调用过程是否出现异常进行监控。
Thread 组件
作为线程池创建入口,用于解析 & 注入符合OpenTelemetry规范的上下文信息,构建对应span,并对线程运行方法处理过程是否出现异常进行监控。支持基于返回值 Future 的多个不同线程的上下文串联、支持两种类型的线程池接口:
基于quarz+mysql构建的分布式定时调度服务。详情参见:kf-job-spring-boot-starter/README.md
主要提供:分布式定时调度服务、任务管理、分布式锁等功能
kf-security 提供PaaS平台基础功能(用户、角色、权限、登录、注册、操作记录),详情参见:kf-security-spring-boot-starter/README.md
主要提供:用户、项目、角色、部门、界面权限、资源权限、操作日志、消息通知
know-framework日志组件,集成了:kf-log:ILog、kf-log:log4j2。详情参见:kf-log/README.md
ILog: ILog是基于slf4j封装的组件,为用户提供日志相关功能,如日志聚合、日志采样等等。各个业务可以选择log4j,logback,log4j2,只要配置上桥接就可以使用。
log4j2: kf-log提供的log4j2,是基于log4j2 2.17.1封装的,支持日志发送到kafka、ES,以及过滤重复日志功能。