鵝長微服務發現與治理巨作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、網關 。