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

@
目录

  • 概述
    • 定义
    • 核心功能
    • 组件和生态
    • 特色亮点
    • 解决哪些问题
    • 官方性能数据
  • 架构原理
    • 资源模型
    • 服务治理
      • 基本原理
      • 服务注册
      • 服务发现
  • 安装
    • 部署架构
    • 集群安装
  • SpringCloud应用接入
    • 版本兼容
    • 创建演示父项目
    • 提供者微服务示例
    • 消费者微服务示例
    • 动态配置示例
概述定义
PolarisMesh 官网地址 https://polarismesh.cn/
PolarisMesh官网中文文档 https://polarismesh.cn/zh/doc/北极星是什么/简介.html
PolarisMeshGitHub源码地址 https://github.com/polarismesh
PolarisMesh(北极星)是腾讯开源的支持多语言、多框架的云原生服务发现和治理中心,提供高性能SDK和无侵入Sidecar两种接入方式 。
前面多篇文章讲解Spring Cloud Alibaba微服务一站式解决全组件的原理和实践,Spring Cloud Alibaba主要服务于Java技术栈,而PolarisMesh提供多语言、框架无关、服务网格的实现,当之无愧的集大成者 。北极星在腾讯内部的服务注册数量超过百万,日接口调用量超过十万亿,通用性和稳定性都得到了大规模的验证 。
PolarisMesh不仅提供无侵入Sidecar,还提供高性能SDK,实现语义相同的服务发现和治理功能,用户可以根据业务场景自行选择 。对于请求量大和资源消耗敏感用户,可以在业务应用或者开发框架中集成北极星SDK,快速补齐服务发现和治理功能 。
核心功能PolarisMesh的功能都是基于插件化设计,可单独使用,采用计算存储分离,计算层节点可以随着客户端节点的增加平行扩展,轻松支持百万级节点接入 。从功能大类来看,分为注册中心、配置中心以及服务网格三类功能
  • 注册中心
    • 服务注册发现及服务健康检查:以服务为中心的分布式应用架构 , 通过服务和注册发现的方式维护不断变化的请求地址,提高应用的扩展能力,降低应用的迁移成本 。北极星提供对注册上来的服务实例进行健康检查,阻止主调方对不健康的服务实例发送请求,同时也提供了保护能力,实例剔除超过一定数量则停止剔除,防止因不健康实例过多导致雪崩效应 。
  • 配置中心
    • 动态配置:提供配置管理的功能,支持应用配置、公共配置的订阅发布、版本管理、变更通知,实现应用配置动态生效 。
  • 【鹅长微服务发现与治理巨作PolarisMesh实践-上】服务网格
    • 路由和负载均衡:根据请求标签、实例标签和标签匹配规则,对线上流量进行动态调度,可以应用于按地域就近、单元化隔离和金丝雀发布等多种场景 。
    • 熔断降级和限流:及时熔断异常的服务、接口、实例或者实例分组,降低请求失败率 。针对不同的请求来源和系统资源进行访问限流 , 避免服务被压垮 。
    • 可观测性:支持请求量、请求延时和请求成功率的指标查询 , 支持服务调用关系和多维度的流量曲线查询,实现服务治理功能和流量观测一体化 。
    • Proxyless与Proxy接入:提供多语言SDK、以及无侵入的JavaAgent,适配用户高性能低长尾时延以Porxyless模式的接入场景;同时提供独立的Sidecar,支持用户的低侵入性、基于流量接管的Proxy模式接入场景 。

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

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

文章插图
PolarisMesh兼容常用的开源框架、网关和 kubernetes 。主要包含服务发现和治理中心、多语言应用开发、DNS 和 Proxy、网关 。