已实现的扩展

基于 Kitex 的扩展能力,Kitex 围绕微服务的生态,实现了很多常用组件的扩展,它们都被存放到了 kitex-contrib 下,开发者可以通过这些扩展直接接入对应的组件。

注册中心

Kitex 提供了统一的接口 Registry 与 Resolver,分别用于实现服务注册与服务发现能力。

目前已经对接了大部分业界主流的注册中心,并且提供了一些相关能力的扩展:

配置中心

为了方便用户快速整合常用的微服务治理特性,Kitex 提供了很多配置中心扩展,开发者可以使用配置中心来动态的配置服务治理特性。

以下是框架已经实现的配置中心扩展:

可观测性

Kitex 提供了两个主要的接口来实现可观测性,分别为:1. Logger 用于实现日志;2. Tracer 用于实现指标监控与链路追踪。

作为微服务生态的重要特性,Kitex 也围绕可观测性各方面提供了对应的扩展:

  • 日志:在日志方面,Kitex 默认提供且使用了基于 Go 标准库 log 开发的日志扩展,同时也提供了 Go 中主流的几个日志库 logrus、zap 与 slog 的日志扩展。

  • 指标:Kitex 提供了基于 Prometheus 与 OpenTelemetry 的监控扩展。

  • 链路追踪:Kitex 提供了基于 OpenTracing 与 OpenTelemetry 的链路追踪扩展。

可观测性方面的扩展仓库有:

服务治理

Kitex 提供了与服务治理相关的扩展功能,来提升服务的管理能力和质量,通过这些扩展,开发者可以实现更复杂的服务治理策略。

服务治理相关的扩展仓库有:

  • xds :集成 xDS 模块,让 Kitex 服务以 Proxyless 的模式运行,被服务网格统一纳管。
  • opensergo :支持 OpenSergo 服务治理规范,可以快速集成 Sentinel 进行流量治理。
  • loadbalance-tagging :基于标签的负载均衡策略,适用于有状态服务或多租户服务的场景。

协议

Kitex 提供了编解码器接口 Codec 与 PayloadCodec,来支持框架在多协议方面的扩展,实现不同框架间的通信。

目前 Kitex 已经与 Dubbo 框架进行对接:

  • codec-dubbo :Dubbo 编解码器,支持 Dubbo 协议编解码,可以与 Dubbo 框架互通。