@
目录
- 概述
- 定义
- 核心功能
- 组件和生态
- 特色亮点
- 解决哪些问题
- 官方性能数据
- 架构原理
- 资源模型
- 服务治理
- 基本原理
- 服务注册
- 服务发现
- 安装
- 部署架构
- 集群安装
- SpringCloud应用接入
- 版本兼容
- 创建演示父项目
- 提供者微服务示例
- 消费者微服务示例
- 动态配置示例
PolarisMesh 官网地址 https://polarismesh.cn/前面多篇文章讲解Spring Cloud Alibaba微服务一站式解决全组件的原理和实践,Spring Cloud Alibaba主要服务于Java技术栈,而PolarisMesh提供多语言、框架无关、服务网格的实现,当之无愧的集大成者 。北极星在腾讯内部的服务注册数量超过百万,日接口调用量超过十万亿,通用性和稳定性都得到了大规模的验证 。
PolarisMesh官网中文文档 https://polarismesh.cn/zh/doc/北极星是什么/简介.html
PolarisMeshGitHub源码地址 https://github.com/polarismesh
PolarisMesh(北极星)是腾讯开源的支持多语言、多框架的云原生服务发现和治理中心,提供高性能SDK和无侵入Sidecar两种接入方式 。
PolarisMesh不仅提供无侵入Sidecar,还提供高性能SDK,实现语义相同的服务发现和治理功能,用户可以根据业务场景自行选择 。对于请求量大和资源消耗敏感用户,可以在业务应用或者开发框架中集成北极星SDK,快速补齐服务发现和治理功能 。
核心功能PolarisMesh的功能都是基于插件化设计,可单独使用,采用计算存储分离,计算层节点可以随着客户端节点的增加平行扩展,轻松支持百万级节点接入 。从功能大类来看,分为注册中心、配置中心以及服务网格三类功能
- 注册中心
- 服务注册发现及服务健康检查:以服务为中心的分布式应用架构 , 通过服务和注册发现的方式维护不断变化的请求地址,提高应用的扩展能力,降低应用的迁移成本 。北极星提供对注册上来的服务实例进行健康检查,阻止主调方对不健康的服务实例发送请求,同时也提供了保护能力,实例剔除超过一定数量则停止剔除,防止因不健康实例过多导致雪崩效应 。
- 配置中心
- 动态配置:提供配置管理的功能,支持应用配置、公共配置的订阅发布、版本管理、变更通知,实现应用配置动态生效 。
- 【鹅长微服务发现与治理巨作PolarisMesh实践-上】服务网格
- 路由和负载均衡:根据请求标签、实例标签和标签匹配规则,对线上流量进行动态调度,可以应用于按地域就近、单元化隔离和金丝雀发布等多种场景 。
- 熔断降级和限流:及时熔断异常的服务、接口、实例或者实例分组,降低请求失败率 。针对不同的请求来源和系统资源进行访问限流 , 避免服务被压垮 。
- 可观测性:支持请求量、请求延时和请求成功率的指标查询 , 支持服务调用关系和多维度的流量曲线查询,实现服务治理功能和流量观测一体化 。
- Proxyless与Proxy接入:提供多语言SDK、以及无侵入的JavaAgent,适配用户高性能低长尾时延以Porxyless模式的接入场景;同时提供独立的Sidecar,支持用户的低侵入性、基于流量接管的Proxy模式接入场景 。
文章插图
组件和生态PolarisMesh分为控制平面、数据平面以及生态组件3大类,通过这3大类组件,组成一套完整的微服务治理体系 。
文章插图
PolarisMesh兼容常用的开源框架、网关和 kubernetes 。主要包含服务发现和治理中心、多语言应用开发、DNS 和 Proxy、网关 。
- 服务发现和治理中心
- polaris-console:北极星的可视化控制台,直接面对终端用户,提供可视化界面供用户进行服务管理、配置管理、服务治理规则管理、可观测性等操作 。
- polaris:北极星的注册配置中心 , 暴露API接口供服务、配置以及治理规则获取及编辑 。支持集群化部署,多个polaris集群之间可以共享同一份数据,支持客户端就近接入 。
- polaris-controller:北极星对接k8s的适配组件,可以将k8s的service以及endpoint的数据变更按需同步到北极星 , 实现 k8s service 和框架服务的统一管理 。
- polaris-limiter:北极星分布式限流的token服务,支持限流配额的汇总以及下发分配 。
推荐阅读
- 四十八 SpringCloud微服务实战——搭建企业级开发框架:【移动开发】整合uni-app搭建移动端快速开发框架-使用第三方UI框架
- Dapr实现.Net Grpc服务之间的发布和订阅,并采用WebApi类似的事件订阅方式
- Silky微服务框架之模块
- 一篇文章带你了解轻量级Web服务器——Nginx简单入门
- iphone12有无线充电吗_iphone12可以使用无线充电吗
- 如何转账到支付宝(支付宝不绑卡怎么把钱转到微信)
- Seata 环境搭建
- 四十七 SpringCloud微服务实战——搭建企业级开发框架:【移动开发】整合uni-app搭建移动端快速开发框架-添加Axios并实现登录功能
- 记录一次sshd服务启动失败
- 微信小程序仿手机相册组件——简单版