Polaris Mesh

服务发现和治理
授权协议 BSD
开发语言 Google Go
所属分类 服务器软件、 服务发现/注册和协调
软件类型 开源软件
地区 国产
投 递 者 窦彦君
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

北极星(Polaris Mesh)是腾讯自研的服务发现和治理中心,以服务注册中心为基础,扩展了服务治理功能以及相应的控制面,解决分布式和微服务架构中的服务可见、故障容错、流量控制和安全问题,提供多语言的客户端实现,不同的开发框架可以集成使用。

功能

  • 基础功能:服务发现、服务注册、健康检查
  • 故障容错:熔断降级、访问限流
  • 流量控制:动态路由、负载均衡
  • 安全:访问鉴权

特色

  • 北极星的功能采用插件化的形式实现,业务可以根据需求选择使用,也非常容易实现扩展
  • 提供SDK和Sidecar两种接入方式,SDK适用于高性能的业务场景,Sidecar适用于无侵入的开发模式
  • 对于SDK的接入方式,提供Java、Go、C++和NodeJS等多种语言的客户端,功能实现相同
  • 北极星SDK可以集成到常用的框架和网关中,例如Spring Cloud、gRPC和Nginx
  • 适用于Kubernetes,支持K8s service和Polaris sidecar的自动注入
  • 腾讯百万级服务治理中心的开源版本,沉淀了腾讯多年的分布式服务治理经验

架构

项目构成

服务端:

客户端:

生态组件:

其他:

随着容器化和云原生的推进,北极星也支持了 Kubernetes  服务和网格 Sidecar 的自动接入,实现了它们之间互联互通和统一治理。

 相关资料
  • SOFADashboard 服务治理主要是对 SOFARpc 的服务进行管理。 目前已经支持基于 ZK 和 SofaRegistry 两个注册中心。 功能展示 1、基于服务维度 服务列表 服务提供者详情: 2、基于应用维度 应用列表 应用服务详情

  • 服务治理配置 黑白名单 "Server": { "Name": "sample", "Ip": "192.168.3.11", "Port": "5003", "Security": { "Whitelist": "*", //白名单 格式:ip1|ap2|1p3,默认 * "BlackList": "" //黑名单 格式:ip1|ap2|1p3,默认 "" } } 负载

  • 服务治理 服务治理主要作用是改变运行时服务的行为和选址逻辑,达到限流,权重配置等目的,主要有以下几个功能: 应用级别的服务治理 在Dubbo2.6及更早版本中,所有的服务治理规则都只针对服务粒度,如果要把某条规则作用到应用粒度上,需要为应用下的所有服务配合相同的规则,变更,删除的时候也需要对应的操作,这样的操作很不友好,因此Dubbo2.7版本中增加了应用粒度的服务治理操作,对于条件路由(包括黑白

  • 本章介绍 Kubernetes 服务治理,包括容器应用管理、Service Mesh 以及 Operator 等。 目前最常用的是手动管理 Manifests,比如 kubernetes github 代码库就提供了很多的 manifest 示例 https://github.com/kubernetes/kubernetes/tree/master/examples https://github

  • 本文向大家介绍Dubbo的服务治理?相关面试题,主要包含被问及Dubbo的服务治理?时的应答技巧和注意事项,需要的朋友参考一下   过多的服务URL配置困难 负载均衡分配节点压力过大的情况下也需要部署集群 服务依赖混乱,启动顺序不清晰 过多服务导致性能指标分析难度较大,需要监控    

  • Kompose是一个将docker-compose配置转换成Kubernetes manifests的工具,官方网站为http://kompose.io/。 Kompose安装 # Linux $ curl -L https://github.com/kubernetes-incubator/kompose/releases/download/v0.5.0/kompose-linux-amd64

  • Operator是CoreOS推出的旨在简化复杂有状态应用管理的框架,它是一个感知应用状态的控制器,通过扩展Kubernetes API来自动创建、管理和配置应用实例。 Operator原理 Operator基于Third Party Resources扩展了新的应用资源,并通过控制器来保证应用处于预期状态。比如etcd operator通过下面的三个步骤模拟了管理etcd集群的行为: 通过Kub

  • Draft是微软Deis团队开源(见https://github.com/azure/draft)的容器应用开发辅助工具,它可以帮助开发人员简化容器应用程序的开发流程。 Draft主要由三个命令组成 draft init:初始化docker registry账号,并在Kubernetes集群中部署draftd(负责镜像构建、将镜像推送到docker registry以及部署应用等) draft c