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

  • 服务元数据:服务的标签信息 , KV格式 , 可对服务进行分类 , 可用于过滤 。
  • 服务实例:提供服务的节点列表 , 以IP:PORT的方式提供 。
  • 服务实例元数据:服务实例的标签信息 , KV格式 , 通常用于描述节点的集群、版本等 , 用于后续流量治理等操作 。

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

    文章插图
    支持以下4种服务注册方式:
    • 通过SDK注册:北极星提供了多语言SDK , 服务可以通过集成SDK , 调用registerInstance接口完成服务注册 。
    • 通过服务框架注册:服务一般与服务框架集成(比如Spring Cloud Tencent (opens new window)) , 框架本身会提供服务自动注册功能 , 服务启动后 , 框架会将服务信息自动注册到北极星 。
    • 通过k8s同步的方式注册:用户通过k8s部署服务 , 并注册为k8s的service , 北极星通过controller的机制 , 从k8s中将service和endpoint信息同步到北极星 , 完成服务注册 。
    • 通过OpenAPI注册:北极星控制面提供基于Rest标准的OpenAPI , 用户可通过OpenAPI完成服务注册的操作 。
    服务发现服务发现指的主调方是根据服务名标识 , 拉取服务实例列表 , 以供后续进行服务调用的操作 。
    鹅长微服务发现与治理巨作PolarisMesh实践-上

    文章插图
    支持以下4种方式进行服务发现:
    • 通过SDK服务发现:北极星提供了多语言SDK , 服务可以通过集成SDK , 调用getAllInstances接口完成全量服务列表拉取 。
    • 使用框架服务发现:北极星支持对接多个主流的服务框架(比如Spring Cloud Tencent (opens new window)) , 主调方服务通过服务框架进行发现RPC请求 , 即可通过框架内部扩展机制使用北极星服务发现能力 。
    • 使用sidecar服务发现:北极星提供服务网格能力 , 服务程序可以基于sidecar的方式 , 通过DNS或者流量拦截 , 进行服务发现 。
    • 使用OpenAPI服务发现:北极星控制面提供基于Rest标准的OpenAPI , 用户可通过OpenAPI完成服务发现的操作 。
    安装部署架构由于单机安装比较简单 , 我们这里就直接选择集群安装 , 准备好两台部署服务器 , 而MySQL、Redis、Promethes的安装可以参考前面对应的文章 , 这里就直接使用 。
    鹅长微服务发现与治理巨作PolarisMesh实践-上

    文章插图
    组件类型功能说明polaris最新stable版本系统组件服务治理控制面polaris-console最新stable版本系统组件服务治理控制台MySQL>= 5.7第三方依赖服务数据存储Redis>=4.0第三方依赖心跳状态数据缓存Prometheus>=2.28.0第三方依赖可观测性集群安装
    • 初始数据导入
    # 下载polaris最新版本v1.12.1wget https://github.com/polarismesh/polaris/releases/download/v1.12.1/polaris-server-release_v1.12.1.linux.amd64.zip# 下载polaris-console最新版本v1.9.1wget https://github.com/polarismesh/polaris-console/releases/download/v1.9.1/polaris-console-release_v1.9.1.linux.amd64.zip# 解压polaris-serverunzip polaris-server-release_v1.12.1.linux.amd64.zip# 解压polaris-consoleunzip polaris-console-release_v1.9.1.linux.amd64.zip# 进入polaris-server目录cd polaris-server-release_v1.12.1.linux.amd64# 执行mysql脚本导入到mysql数据库mysql -u root -p 123456 -h 192.168.50.100 < store/sqldb/scripts/polaris_server.sql将文件拷贝到两台服务器上 , 下面操作两台一样

    经验总结扩展阅读