Polaris Mesh服務(wù)發(fā)現(xiàn)和治理
北極星(Polaris Mesh)是騰訊自研的服務(wù)發(fā)現(xiàn)和治理中心,以服務(wù)注冊中心為基礎(chǔ),擴展了服務(wù)治理功能以及相應(yīng)的控制面,解決分布式和微服務(wù)架構(gòu)中的服務(wù)可見、故障容錯、流量控制和安全問題,提供多語言的客戶端實現(xiàn),不同的開發(fā)框架可以集成使用。
功能
- 基礎(chǔ)功能:服務(wù)發(fā)現(xiàn)、服務(wù)注冊、健康檢查
- 故障容錯:熔斷降級、訪問限流
- 流量控制:動態(tài)路由、負(fù)載均衡
- 安全:訪問鑒權(quán)
特色
- 北極星的功能采用插件化的形式實現(xiàn),業(yè)務(wù)可以根據(jù)需求選擇使用,也非常容易實現(xiàn)擴展
- 提供SDK和Sidecar兩種接入方式,SDK適用于高性能的業(yè)務(wù)場景,Sidecar適用于無侵入的開發(fā)模式
- 對于SDK的接入方式,提供Java、Go、C++和NodeJS等多種語言的客戶端,功能實現(xiàn)相同
- 北極星SDK可以集成到常用的框架和網(wǎng)關(guān)中,例如Spring Cloud、gRPC和Nginx
- 適用于Kubernetes,支持K8s service和Polaris sidecar的自動注入
- 騰訊百萬級服務(wù)治理中心的開源版本,沉淀了騰訊多年的分布式服務(wù)治理經(jīng)驗
架構(gòu)
項目構(gòu)成
服務(wù)端:
- polaris: 控制面
- polaris-console: 控制臺
客戶端:
- polaris-java: Java客戶端
- polaris-go: Go客戶端
- polaris-cpp: C++客戶端
- polaris-nodejs: NodeJS客戶端
- polaris-sidecar: 基于Envoy的Sidecar
生態(tài)組件:
- 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
其他:
隨著容器化和云原生的推進(jìn),北極星也支持了 Kubernetes 服務(wù)和網(wǎng)格 Sidecar 的自動接入,實現(xiàn)了它們之間互聯(lián)互通和統(tǒng)一治理。
評論
圖片
表情
