鹅长微服务发现与治理巨作PolarisMesh实践-上( 二 )


鹅长微服务发现与治理巨作PolarisMesh实践-上

文章插图
组件和生态PolarisMesh分为控制平面、数据平面以及生态组件3大类 , 通过这3大类组件 , 组成一套完整的微服务治理体系 。
鹅长微服务发现与治理巨作PolarisMesh实践-上

文章插图
PolarisMesh兼容常用的开源框架、网关和 kubernetes 。主要包含服务发现和治理中心、多语言应用开发、DNS 和 Proxy、网关 。
  • 服务发现和治理中心
    • polaris-console:北极星的可视化控制台 , 直接面对终端用户 , 提供可视化界面供用户进行服务管理、配置管理、服务治理规则管理、可观测性等操作 。
    • polaris:北极星的注册配置中心 , 暴露API接口供服务、配置以及治理规则获取及编辑 。支持集群化部署 , 多个polaris集群之间可以共享同一份数据 , 支持客户端就近接入 。
    • polaris-controller:北极星对接k8s的适配组件 , 可以将k8s的service以及endpoint的数据变更按需同步到北极星 , 实现 k8s service 和框架服务的统一管理 。
    • polaris-limiter:北极星分布式限流的token服务 , 支持限流配额的汇总以及下发分配 。
  • 多语言应用开发:支持Java、Go、C、C++、PHP、Lua , 不劫持业务请求 , 几乎不增加请求延时 , CPU 消耗低 , 不需要部署和运维 Sidecar 。支持 grpc 等框架和北极星 SDK 的集成 , 框架用户不需要直接使用北极星 SDK 。比如:
    • Java应用开发:polaris-java(Polaris Java客户端实现)、grpc-java-polaris(使用grpc-java与polaris-java的集成)、spring-cloud-tencent(SpringCloud与腾讯开源中间件的集成解决方案)、spring-boot-polaris(SpringBoot与polaris-java的集成)、polaris-java-agent(polaris-java注入到SpringCloud和Dubbo) 。
    • Go应用开发polaris-go(Polaris Go客户端)、grpc-go-polaris(grpc-java与polaris-go的集成)、go-kratos(go-kratos与polaris-go的集成)、go-zero(go-zero与polaris-go的集成)、go-frame(go-frame与polaris-go的集成)、dubbo-go(dubbo-go与polaris-go的集成)、kitex(kitex与polaris-go的集成) 。
  • Sidecar:劫持业务请求 , 有一定的请求延时 , CPU 消耗较高 , 适用于无侵入的开发场景 。
  • JavaAgent:对于Java的应用 , 直接通过字节码的方式加载到进程中 , 通过拦截器实现无感的接入 。
  • 支持 nginx 等网关和北极星 SDK 的集成 , 支持网关将请求转发到北极星服务 。
  • 支持 k8s service 自动注册到北极星 , 实现 k8s service 和框架服务的统一管理 。
特色亮点