中间件

📄️ 概览

Kratos 内置了一系列的 middleware(中间件)用于处理 logging, metrics 等通用场景。您也可以通过实现 Middleware 接口,开发自定义 middleware,进行通用的业务处理,比如用户登录鉴权等。

📄️ 认证

Auth 中间件用于认证请求。只有通过认证的请求才能被处理,结合 selector 中间件可实现白名单。目前提供基于JWT认证的中间件。

📄️ 熔断器

熔断器中间件,用于提供客户端熔断功能,默认实现了sre breaker 算法。

📄️ 日志

Logging 中间件用于打印服务收到或发起的请求详情。

📄️ 监控

Metrics 中间件用于实现服务的性能指标监控,统计了请求耗时和请求计数。

📄️ 限流器

限流器中间件,用于服务端流量控制,默认使用bbr limiter算法。

📄️ 异常恢复

Recovery 中间件用于异常恢复,服务出现异常的情况下,防止程序直接退出。

📄️ 链路追踪

Tracing 中间件使用 OpenTelemetry 实现了链路追踪。

📄️ 参数校验

Validate 中间件使用 proto-gen-validate 生成后的代码进行参数校验,我们可以通过在 proto 中编写参数校验规则,然后生成代码,通过中间件自动的进行校验。