12 Star 83 Fork 20

PolarisMesh / polaris

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

北极星:服务发现和治理

Build Status codecov.io Docker Pulls Contributors License GitHub release (latest by date)

English | 简体中文


README:

更多文档请查看北极星官网

介绍

北极星是一个支持多语言、多框架的云原生服务发现和治理中心,解决分布式和微服务架构中的服务可见、故障容错、流量控制和安全问题。

核心功能点:

  • 服务注册发现和健康检查

    以服务为中心的分布式应用架构中,通过服务和注册发现的方式维护不断变化的请求地址,提高应用的扩展能力,降低应用的迁移成本。北极星提供对注册上来的服务实例进行健康检查,阻止主调方对不健康的服务实例发送请求。

  • 流量调度:路由与负载均衡

    根据请求标签、实例标签和标签匹配规则,对线上流量进行动态调度,可以应用于按地域就近、按标签灰度和新金丝雀发布等多种场景。

  • 过载保护:服务限流与故障熔断

    对于入口服务,北极星提供服务限流功能,当负载已经超过了系统的最大处理能力时,可针对不同的请求来源和系统资源进行访问限流,避免服务被压垮。 同时北极星也提供故障熔断功能,根据实时采集的错误率等指标,及时熔断异常的下游服务、接口、实例或者实例分组,降低请求失败率。

  • 可观测性

    提供服务治理可视化监控视图,支持请求量、请求延时和请求成功率的指标查询,支持服务调用关系和多维度的流量曲线查询,实现服务治理功能和流量观测一体化。

  • 配置管理

    支持应用配置、公共配置的订阅发布、版本管理、变更通知,实现应用配置动态生效。

特色:

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

快速入门

下载单机版

可以从以下地址获取最新版本进行下载,下载时候请选择包名为polaris-standalone-release-*.zip的软件包,并且根据当前操作系统进行筛选(windows10选择windows,mac选择darwin,Linux/Unix选择linux)。

polaris-standalone-release_v1.11.0-beta.2.linux.amd64.zip为例,下载后执行以下命令进行解压:

unzip polaris-standalone-release_v1.11.0-beta.2.linux.amd64.zip
cd polaris-standalone-release_v1.11.0-beta.2.linux 

启动服务端

在Linux/Unix/Mac平台下,执行以下命令启动北极星单机版:

bash install.sh

在Windows平台下,执行以下命令启动北极星单机版:

install.bat

验证安装

curl http://127.0.0.1:8090

返回Polaris Server,证明功能正常

如需了解更多安装方式(如修改安装端口、容器化安装、集群版本安装等),可参考:部署手册

使用样例

北极星支持多语言、多框架、多形态(proxyless及proxy)的微服务进行接入。

服务注册发现和健康检查

(1) 基于主流框架开发的微服务接入可参考:

(2) 主流语言微服务接入可参考:

(3) proxy模式的微服务接入可参考:

服务限流

(1) 基于主流框架开发的微服务接入可参考:

(2) 主流语言微服务接入可参考:

(3) proxy模式的微服务接入可参考:

流量调度

(1) 基于主流框架开发的微服务接入可参考:

(2) 主流语言微服务接入可参考:

(3) proxy模式的微服务接入可参考:

配置管理

(1) 基于主流框架开发的微服务接入可参考:

(2) 主流语言微服务接入可参考:

更多指南

更多功能使用指引可参考:使用指南

交流群

扫码下方二维码进入北极星开源社区交流群,加群之前有劳点一下 star,一个小小的 star 是对北极星作者们努力建设社区的动力。

北极星社区相关的特性计划、运营活动都会在交流群中进行发布,加群可以保证您不会错过任何一个关于北极星的资讯。

欢迎您在群里提出你在体验或者使用北极星过程中所遇到的疑问,我们会尽快答复。

您可以在群内提出使用中需要改进的地方,我们评审合理性后会接纳并尽快落实。

如果您发现 bug 请及时提 issue,我们会尽快确认并修改。

参与贡献

如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为提升北极星的开发体验贡献力量。

详见:CONTRIBUTING.md

空文件

简介

北极星是一个支持多语言、多框架的云原生服务发现和治理中心,解决分布式和微服务架构中的服务可见、故障容错、流量控制和安全问题。 展开 收起
取消

发行版 (7)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/polarismesh/polaris.git
git@gitee.com:polarismesh/polaris.git
polarismesh
polaris
polaris
main

搜索帮助

14c37bed 8189591 565d56ea 8189591