Polaris Mesh服务发现和治理
北极星(Polaris Mesh)是腾讯自研的服务发现和治理中心,以服务注册中心为基础,扩展了服务治理功能以及相应的控制面,解决分布式和微服务架构中的服务可见、故障容错、流量控制和安全问题,提供多语言的客户端实现,不同的开发框架可以集成使用。
功能
- 基础功能:服务发现、服务注册、健康检查
- 故障容错:熔断降级、访问限流
- 流量控制:动态路由、负载均衡
- 安全:访问鉴权
特色
- 北极星的功能采用插件化的形式实现,业务可以根据需求选择使用,也非常容易实现扩展
- 提供SDK和Sidecar两种接入方式,SDK适用于高性能的业务场景,Sidecar适用于无侵入的开发模式
- 对于SDK的接入方式,提供Java、Go、C++和NodeJS等多种语言的客户端,功能实现相同
- 北极星SDK可以集成到常用的框架和网关中,例如Spring Cloud、gRPC和Nginx
- 适用于Kubernetes,支持K8s service和Polaris sidecar的自动注入
- 腾讯百万级服务治理中心的开源版本,沉淀了腾讯多年的分布式服务治理经验
架构
项目构成
服务端:
- polaris: 控制面
- polaris-console: 控制台
客户端:
- polaris-java: Java客户端
- polaris-go: Go客户端
- polaris-cpp: C++客户端
- polaris-nodejs: NodeJS客户端
- polaris-sidecar: 基于Envoy的Sidecar
生态组件:
- polaris-controller: K8s控制器,支持K8s Service和Polaris Sidecar自动注入
- spring-cloud-polaris: spring cloud集成polaris-java
- grpc-java-polaris: grpc-java集成polaris-java
- grpc-go-polaris: grpc-go集成polaris-go
- grpc-cpp-polaris: grpc集成polaris-cpp
- grpc-nodejs-polaris: grpc-node集成polaris-nodejs
- nginx-polaris: nginx集成polaris-cpp
其他:
随着容器化和云原生的推进,北极星也支持了 Kubernetes 服务和网格 Sidecar 的自动接入,实现了它们之间互联互通和统一治理。
评论