北极星的组件
北极星包含哪些组件
北极星组件分为控制平面、数据平面以及生态组件3大类,通过这3大类组件,组成一套完整的微服务治理体系。
控制平面
控制平面负责服务和配置资源的整体调度和下发,用户在控制平面对数据进行查看和编辑规则,控制平面会将规则下发给数据平面,驱动数据平面进行具体的治理操作。
控制平面包含以下组件:
polaris-console
北极星的可视化控制台,直接面对终端用户,提供可视化界面供用户进行服务管理、配置管理、服务治理规则管理、可观测性等操作。
polaris
北极星的注册配置中心,暴露API接口供服务、配置以及治理规则获取及编辑。支持集群化部署,多个polaris集群之间可以共享同一份数据,支持客户端就近接入。
polaris-controller
北极星对接k8s的适配组件,可以将k8s的service以及endpoint的数据变更按需同步到北极星,实现 k8s service 和框架服务的统一管理。
polaris-limiter
北极星分布式限流的token服务,支持限流配额的汇总以及下发分配。
数据平面
高性能SDK
提供多语言的SDK,主流语言支持Java、Go、C++,不劫持业务请求,几乎不增加请求延时,CPU 消耗低,不需要部署和运维 Sidecar。
Sidecar
劫持业务请求,有一定的请求延时,CPU 消耗较高,适用于无侵入的开发场景。
JavaAgent
对于Java的应用,直接通过字节码的方式加载到进程中,通过拦截器实现无感的接入。
生态组件
北极星兼容常用的开源框架、网关和 kubernetes:
- 支持 grpc 等框架和北极星 SDK 的集成,框架用户不需要直接使用北极星 SDK
- 支持 nginx 等网关和北极星 SDK 的集成,支持网关将请求转发到北极星服务
- 支持 k8s service 自动注册到北极星,实现 k8s service 和框架服务的统一管理