📄️ 概览
Kratos 内置了一系列的 middleware(中间件)用于处理 logging, metrics 等通用场景。您也可以通过实现 Middleware 接口,开发自定义 middleware,进行通用的业务处理,比如用户登录鉴权等。
📄️ 认证
Auth 中间件用于认证请求。只有通过认证的请求才能被处理,结合 selector 中间件可实现白名单。目前提供基于JWT认证的中间件。
📄️ 熔断器
熔断器中间件,用于提供客户端熔断功能,默认实现了sre breaker 算法。
📄️ 日志
Logging 中间件用于打印服务收到或发起的请求详情。
📄️ 监控
Metrics 中间件用于实现服务的性能指标监控,统计了请求耗时和请求计数。
📄️ 限流器
限流器中间件,用于服务端流量控制,默认使用bbr limiter算法。
📄️ 异常恢复
Recovery 中间件用于异常恢复,服务出现异常的情况下,防止程序直接退出。
📄️ 链路追踪
Tracing 中间件使用 OpenTelemetry 实现了链路追踪。
📄️ 参数校验
Validate 中间件使用 proto-gen-validate 生成后的代码进行参数校验,我们可以通过在 proto 中编写参数校验规则,然后生成代码,通过中间件自动的进行校验。