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