版本信息
- 1: 版本升级指南
- 2: Release v1.18.0
- 3: Release v1.17.8
- 4: Release v1.17.2
- 5: Release v1.17.0
- 6: Release v1.16.0
- 7: Release v1.15.0
- 8: Release v1.14.0
- 9: Release v1.13.0
- 10: Release v1.12.0
- 11: Release v1.11.0
1 - 版本升级指南
服务端与控制台版本对应表
Polaris-Server Version | Polaris-Console Version |
---|---|
v1.18.x | v1.15.0 |
v1.17.3~v1.17.8 | v1.14.4 |
v1.17.2 | v1.14.0 |
v1.17.0~v1.17.1 | v1.13.x |
v1.16.x | v1.13.x |
v1.15.x | v1.12.x |
v1.14.x | v1.11.x |
v1.13.x | v1.10.x |
v1.12.x | v1.9.x |
v1.11.x | v1.8.x |
v1.10.0 | v1.7.3 |
v1.9.0 | v1.6.1 |
v1.8.0 | v1.6.0 |
v1.7.0 | v1.5.8 |
v1.6.0 | v1.4.0 |
v1.5.0 | v1.3.2 |
v1.4.0 | v1.3.1 |
v1.3.2 | v1.3.1 |
v1.3.1 | v1.3.0 |
v1.3.0 | v1.2.1 |
v1.2.2 | v1.2.1 |
v1.2.1 | v1.2.1 |
v1.2.0 | v1.2.0 |
v1.0.0 | v1.0.0 |
1.10.x 版本升级至 1.11.x
polaris-server 升级
- 执行数据库增量脚本:v1_8_0-v1_11_0.sql
polaris-console 升级
- 覆盖安装 polaris-console
1.11.x 版本升级至 1.12.x
polaris-server 升级
- 执行数据库增量脚本:v1_11_0-v1_12_0.sql
- 将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.12.x 版本升级至 1.13.x
polaris-server 升级
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.13.x 版本升级至 1.14.x
polaris-server 升级
- 执行数据库增量脚本:v1_12_0-v1_14_0.sql
- 执行升级工具:circuitbreaker_rule_transform
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.14.x 版本升级至 1.15.x
polaris-server 升级
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.15.x 版本升级至 1.16.x
polaris-server 升级
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.16.x 版本升级至 1.17.2
polaris-server 升级
- 执行数据库增量脚本:v1_14_0-v1_17.0.sql
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.17.2 版本升级至 1.17.8
polaris-server 升级
- 执行数据库增量脚本:v1_17_0-v1_17_3.sql
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
1.17.8 版本升级至 1.18.0
polaris-server 升级
- 执行数据库增量脚本:v1_17_3-v1_18_0.sql
- 建议将原有的 polaris-sever.yaml 更新至最新的 polaris-server.yaml
polaris-console 升级
- 覆盖安装 polaris-console
升级注意事项
- polaris-console 更新之后需要刷新浏览器缓存,避免升级 polaris-console 后浏览器还缓存前端页面文件信息,从而无法体验新的前端交互
2 - Release v1.18.0
下载地址
特性说明
Nacos客户端协议全功能版本兼容
在 1.18.0 版本中,社区正式将 apiserver-nacos 插件纳入官方默认插件,并完善了 nacos1.x/nacos2.x 的客户端功能特性兼容。用户无需替换自己的 nacos-client 依赖,只需更换接入地址即可接入北极星的注册发现以及配置管理。
- nacos1.x
- 注册发现
- 实例注册
- 服务发现
- 心跳上报
- 基于 UDP 的服务端主动推送
- 配置管理
- 配置发布
- 配置查询
- 配置监听
- 注册发现
- nacos2.x
- 注册发现
- 实例注册
- 服务发现
- 基于 gRPC 长连接的实例信息维护
- 基于 gRPC 的服务端主动推送
- 配置管理
- 配置发布
- 配置查询
- 配置监听
- 注册发现
apiservers:
- name: service-nacos
option:
listenIP: "0.0.0.0"
# nacos http 协议监听端口,grpc 端口默认在该基础上 +1000
listenPort: 8848
# 设置 nacos 默认命名空间对应 Polaris 命名空间信息
defaultNamespace: default
connLimit:
openConnLimit: false
maxConnPerHost: 128
maxConnLimit: 10240
支持 Mesh Sidecar 场景下的 Cluster/Endpoint 按需加载
Sidecar Mesh 场景下,每个 Sidecar 进程都会收到 xDS Server 推送下来的全量服务数据。假设一个 Workload-1 他仅仅调用了 Service-1/Service-2 两个服务,但是大部份的 xDS Server 都会将全量的 Service 推送给 Workload-1 的 Sidecar。这样子带来的后果就是每个 Sidecar 的内存、资源消耗会随着服务量级的增长而增长。
为了解决上述问题。社区在 1.18.0 版本中实现了 Envoy xDS 中的 OCDS 能力。默认只推送全量的 VHDS 到 Sidecar 中,Cluster/Endpoint 资源根据实际请求进行按需加载。
同时我们也优化了服务端关于 xDS 规则生成的内存占用,不再使用 envoy go-control-plane 中的 SnapshotCache 实现,而是选择了 LinearCache,根据每类 xDS 资源的生成特点进行存放在不同的 LinearCache 中,尽可能将公共的 xDS 资源只生成一份,其余的需要按照 mtls、odcds 场景的规则则各自存在对应的 LinearCache 中。
- 需要搭配 polaris-controller v1.7.0 版本一起使用
- 由于当前 Envoy 的按需加载能力,当 On-Demand VHDS 和 On-Demand Cluster 同时启用时存在 BUG,因此目前仅实现了 On-Demand Cluster 的能力,待和 Envoy 社区推进解决该 BUG 后用户可享受真正的 Envoy 按需加载能力,社区 issue
支持 Mesh Sidecar 场景下的分布式限流
在 1.18.0 版本中,我们针对 Mesh Sidecar 的场景,支持将 Polaris 的分布式限流通过由 Polaris-Sidecar 组件实现的 RLS 提供给 Envoy 的限流 Filter,使得用户在 Mesh 场景下可以享受 Polaris 的分布式限流能力
- 需要搭配 polaris-controller v1.7.0 版本一起使用
配置中心支持灰度发布
为了让用户有更好的配置中心使用体验,社区在 v1.18.0 版本中支持配置灰度能力,当前灰度能力支持用户自定义客户端标签进行灰度控制下发;针对存量老版本客户端仅支持根据客户端IP进行灰度控制台下发。
polaris-go 配置客户端标签
global:
serverConnector:
addresses:
- 127.0.0.1:8091
client:
labels:
${label_key}: ${label_value}
polaris-java
开发中…
配置中心和 Kubernetes ConfigMap 无缝打通
当前通过 polaris-controller 组件将 Kubernetes 上的 Service 信息同步至北极星中,用户便可以针对 Kubernetes 上的 POD 进行相应的服务治理。但是对于 ConfigMap 这一配置资源的管理却还是只能停留在 Kubernetes;假如北极星能够接管用户的 ConfigMap 管理,用户只需要在北极星控制台上进行配置文件创建、发布即可将配置同步到 ConfigMap 中那么用户还能够享受到配置审计、发布历史、配置回滚等增强功能。因此在 1.18.0 版本中我们支持了北极星和 Kubernetes ConfigMap 资源的数据打通能力,用户只需要部署 polaris-controller 1.7.0 版本即可,相关使用文档参考 K8s 配置同步
版本变化
特性
- [PR #1174] feat:support push envoy rls filter xds
- [PR #1175] feat(xds): add OutlierDetection and HealthCheck
- [PR #1215] 服务端支持流量无损停机
- [PR #1237] feat: allow empty db password
- [PR #1253] feat:envoy ratelimit action suppoer all spec label & add hds feature
- [PR #1271] 配置中心支持灰度发布
- [PR #1276] refactor:优化xds生成逻辑 & 合并社区 nacosserver 插件
- [PR #1285] feat:新增配置控制是否允许自动创建服务
- [PR #1304] feat:xdsv3 support envoy odcds
优化
- [PR #1170] refactor:Adjust xds rule build
- [PR #1179] refactor: remove the template code used by map to improve code readability
- [PR #1232] refactor:statis log add traffic direction info
- [PR #1235] in order to improve the processing of service discovery QPS when using api-http server
- [PR #1250] 增强eureka delta api的稳定性
- [PR #1283] 无效请求不需要上报prometheus
测试覆盖
- [PR #1309] test:add unit test for service visible feature
BUG 修复
- [PR #1162] 调整与Eureka实例的状态兼容逻辑
- [PR #1173] 单机版为用户关联用户组时,会默认勾选所有用户组
- [PR #1184] 修复通过服务别名拉取时,服务信息为源服务信息问题
- [PR #1188] 用户组token鉴权bug修复;用户名校验规则修改:允许包含英文句号
- [PR #1192] 修复batchConfig批量注销实例配置问题
- [PR #1196] 修复心跳上报写redis异常时未将异常结果返回问题
- [PR #1197] 修复熔断/探测规则更新绑定服务信息后缓存遗留脏数据
- [PR #1201] 修复 arm64 环境无法使用 docker image
- [PR #1212] 修复清理软删除实例时没有同步清理 instance_metadata 以及 health_check 表的数据
- [PR #1213] 修复xDS 生成 cacheKey 时缺失 gatewayService
- [PR #1233] fix: Dockerfile 8761 port duplicate
- [PR #1240] fix typo: firtstUpdate -> firstUpdate
- [PR #1273] 解决配置中心标签 value 和 key 相同的问题
- [PR #1281] fix release_history search bug
- [PR #1287] fix:修复checkLeader任务卡住 & 修复nacos2.x逻辑兼容问题
- [PR #1291] fix: statis plugin will happen nil pointer dereference on item
- [PR #1301] 入口流量匹配规则缺失
New Contributors
- @skywli made their first contribution in https://github.com/polarismesh/polaris/pull/1175
- @qnnn made their first contribution in https://github.com/polarismesh/polaris/pull/1184
- @WTIFS made their first contribution in https://github.com/polarismesh/polaris/pull/1188
- @xiaolaji422 made their first contribution in https://github.com/polarismesh/polaris/pull/1215
- @codingcn made their first contribution in https://github.com/polarismesh/polaris/pull/1233
- @nxsre made their first contribution in https://github.com/polarismesh/polaris/pull/1273
- @qdsordinarydream made their first contribution in https://github.com/polarismesh/polaris/pull/1283
- @Lin-1997 made their first contribution in https://github.com/polarismesh/polaris/pull/1291
- @njy17 made their first contribution in https://github.com/polarismesh/polaris/pull/1301
Full Changelog: https://github.com/polarismesh/polaris/compare/v1.17.8...v1.18.0
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
3 - Release v1.17.8
下载地址
特性说明
支持 Mesh Sidecar 场景下的单机限流
在 1.17.3 版本中,我们针对 Mesh Sidecar 的场景,支持将 Polaris 的单机限流规则 Spec 通过 Envoy XDS 的格式进行下发给 Sidecar,使得用户在 Mesh 场景下可以享受 Polaris 的限流能力
- 需要搭配 polaris-controller v1.6.0 版本一起使用
配置中心支持配置回滚、撤回发布
为了让用户有更好的配置中心使用体验,社区在 v1.17.3 版本中支持了配置回滚、撤回某个配置版本发布的能力。当前仅支持通过服务端 OpenAPI 进行操作,前端 UI 支持会在下一个版本中对外放出。
关闭服务端自注册的心跳上报
修改服务端配置
bootstrap:
# Register as Arctic Star Service
polaris_service:
# disable_heartbeat disable polaris_server node run heartbeat action to keep lease polaris_service
disable_heartbeat: true
版本变化
特性
- [PR 1174] feat:support push envoy rls filter xds
- [PR 1175] feat(xds): add OutlierDetection and HealthCheck
- [PR 1187] [Refactor] 配置中心重构+支持配置回滚/撤回发布
优化
- [PR 1162] 调整与Eureka实例的状态兼容逻辑
- [PR 1170] refactor:Adjust xds rule build
- [PR 1179] refactor: remove the template code used by map to improve code readability
- [PR 1202] refactor:配置文件缓存逻辑重构
BUG 修复
- [PR 1173] 单机版为用户关联用户组时,会默认勾选所有用户组
- [PR 1184] 修复通过服务别名拉取时,服务信息为源服务信息问题
- [PR 1188] 用户组token鉴权bug修复;用户名校验规则修改:允许包含英文句号
- [PR 1192] 修复batchConfig批量注销实例配置问题
- [PR 1196] 修复心跳上报写redis异常时未将异常结果返回问题
- [PR 1208] 修复熔断/探测规则更新绑定服务信息后缓存遗留脏数据
- [PR 1212] 修复清理软删除实例时没有同步清理 instance_metadata 以及 health_check 表的数据
- [PR 1213] 修复xDS 生成 cacheKey 时缺失 gatewayService
- [PR 1201] 修复 arm64 环境无法使用 docker image 问题
New Contributors
- @skywli made their first contribution in https://github.com/polarismesh/polaris/pull/1175
- @qnnn made their first contribution in https://github.com/polarismesh/polaris/pull/1184
- @WTIFS made their first contribution in https://github.com/polarismesh/polaris/pull/1188
Full Changelog: https://github.com/polarismesh/polaris/compare/v1.17.2...v1.17.5
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
4 - Release v1.17.2
下载地址
特性说明
配置文件支持加密
配置文件中经常会涉及一些敏感信息,例如帐号密码等参数。这时需对这些敏感信息进行加密,提供信息安全性。因此在 1.17.2 版本中配置中心正式支持配置加密功能,进一步提升配置中心的功能完备性。具体使用文档参考 配置加密
启用该能力的配置文件示例
plugin:
crypto:
entries:
# 配置加密功能中,服务端提供的加密算法插件配置
- name: AES
支持集群部署不依赖 Redis 能力正式发布
在 1.17.2 中社区正式提供北极星集群部署的去 redis 组件的集群部署方案,方便用户快速搭建北极星,减低使用北极星的成本。
启用该能力的配置文件示例
healthcheck:
open: true
service: polaris.checker
slotNum: 30
minCheckInterval: 1s
maxCheckInterval: 30s
clientReportInterval: 120s
batch:
heartbeat:
open: true
queueSize: 10240
waitTime: 32ms
maxBatchCount: 32
concurrency: 64
checkers:
- name: heartbeatLeader
北极星存储层支持 Postgresql (实验性)
在 1.17.2 中, 社区开发者 @bingxindan 带了存储层基于 postgresql 的支持, 可通过引入 store-postgresql 插件自编译开启存储层使用 postgresql 的特性。
北极星协议层支持 Nacos 2.x 注册发现 (实验性)
在 1.17.2 中, 社区开发者 @chatless 带了协议层对 nacos2.x 的支持, 可通过引入 apiserver-nacos 插件自编译开启协议层支持 nacos2.x 客户端接入的特性。
What’s Changed
Feature
- [PR #1124] Support configuration encryption function
- [PR #1126] 解耦AuthServer,将功能拆解到UserOperator及StrategyOperator
- [PR #1135] Add support for config upsert and publish
Enhancement
- [PR #1131] Support sending the last heartbeat health time of the instance to the data plane
- [PR #1137] Optimize store layer error code return and instance query cache
- [PR #1141] docs(update): 完善OpenAPI swagger 文档
- [PR #1147] optimize the code style of the configuration center
BugFix
- [PR #1143] fix:hotfix remove user mobile and email
- [PR #1144] doc:CircuitBreakerStore文档注释错误
- [PR #1151] Fix the failure of the metrics function after restarting the container
- [PR #1155] The server nil panic problem after the health check function is turned off
New Contributors
- @KarKLi made their first contribution in https://github.com/polarismesh/polaris/pull/1126
- @fabian4 made their first contribution in https://github.com/polarismesh/polaris/pull/1135
- @baker-yuan made their first contribution in https://github.com/polarismesh/polaris/pull/1144
- @Asher-Wall made their first contribution in https://github.com/polarismesh/polaris/pull/1141
Full Changelog: https://github.com/polarismesh/polaris/compare/v1.17.1...v1.17.2
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
5 - Release v1.17.0
下载地址
特性说明
支持集群部署不依赖 Redis(BETA)
为了减低中小公司在部署北极星时需要维护 redis 以及 mysql 组件所带来的运维工作量,在 1.17.0 中我们提供北极星集群部署的去 redis 组件的集群部署方案,方便用户快速搭建北极星,减低使用北极星的成本。
启用该能力的配置文件示例
healthcheck:
open: true
service: polaris.checker
slotNum: 30
minCheckInterval: 1s
maxCheckInterval: 30s
clientReportInterval: 120s
batch:
heartbeat:
open: true
queueSize: 10240
waitTime: 32ms
maxBatchCount: 32
concurrency: 64
checkers:
- name: heartbeatLeader
XDS 规则下发时支持服务别名
通过北极星的服务别名机制,支持将服务别名一并通过 XDS 的格式进行下发,解决 XDS 跨命名空间资源下发的问题
What’s Changed
Feature
- PR #1068 eureka注册发现支持命名空间隔离
- PR #1070 feat:support service alias from xds
- PR #1082 feat:support heartbeat without redis in cluster
Enhancement
- PR #1056 refactor admin job execute interval config
- PR #1063 refactor: maintain rename to admin
- PR #1065 refactor: service governance rule not bind service instance
- PR #1066 支持根据实例ID获取实例列表
- PR #1079 添加windows启动停止脚本
- PR #1081 GetInstances接口过滤条件为可选
- PR #1086 修复高并发场景下鉴权CheckPermission方法导致内存溢出问题
- PR #1099 add CleanDeletedClients admin-job
BugFix
- PR #1057 修复有子目录的配置文件无法导入问题
- PR #1060 fix:限流规则disable查询条件失效
- PR #1076 fix:http 客户端接口鉴权行为保持和gRPC一致
- PR #1085 Fix prometheus.yml bug
- PR #1102 fix: remove standalone docker exec not exist shell
Test
- PR #1062 test: add polaris.checker health check unit test
New Contributors
- @self-made-boy made their first contribution in https://github.com/polarismesh/polaris/pull/1068
- @kuwoo made their first contribution in https://github.com/polarismesh/polaris/pull/1085
- @vLiang486 made their first contribution in https://github.com/polarismesh/polaris/pull/1079
- @Sad-polar-bear made their first contribution in https://github.com/polarismesh/polaris/pull/1086
Full Changelog: https://github.com/polarismesh/polaris/compare/v1.16.4...v1.17.0
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
6 - Release v1.16.0
下载地址
特性说明
更完善的服务调用监控
在 polaris 1.16.0 版本前,缺乏服务调用之间的流量指标展示分析,因此服务间调用的流量情况对用户来说就是一个黑盒,同时,用户也无法判断在北极星平台配置的流量治理规则,在服务调用时是否执行,以及执行的结果是否符合预期:
- 缺少服务间调用请求的响应时耗统计信息。
- 缺少服务间调用请求的响应码分布情况。
- 缺少接口级、实例级的服务间调用请求指标。
基于以上几点,在 polaris v1.16.0 版本中,我们针对服务间调用的核心指标重新进行设计,并且优化了相关指标在控制台的展示试图,进一步方便用户观察微服务运行期间服务调用的流量情况:
- 提供服务间调用响应的耗时统计,支持最大、最小、均值、P95以及P99的查询,支持按照服务、接口、实例进行筛选查看。
- 提供服务间调用响应码的分布情况,支持按照服务、接口、实例进行筛选查看。
- 提供服务间调用的主调实例以及被调实例的指标查看。
控制台预览
- 服务调用兼容概览
- 服务调用详细
里程碑规划
polaris 下个版本将围绕易用性以及稳定性进行迭代,预计在5月初推出,计划提供下列功能:
集群化部署去redis
为了减低中小公司在部署北极星时需要维护 redis 以及 mysql 组件所带来的运维工作量,社区将提供北极星集群部署的去 redis 组件的集群部署方案,方便用户快速搭建北极星,减低使用北极星的成本。
XDS协议支持下发跨命名空间的服务数据
当前北极星的 XDS 协议不支持下发跨命名空间的服务数据,社区会先通过北极星的服务别名机制,支持将服务别名一并已XDS的格式进行下发,通过服务别名的方式解决XDS跨命名空间资源下发的问题;后续社区也会进一步调研Envoy的按需加载的能力,从而更优雅的解决这一使用问题。
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
7 - Release v1.15.0
下载地址
特性说明
更完善的服务注册配置监控
在 polaris 1.15.0 版本前,北极星的可观测性指标较少,用户难以观察北极星服务端运行时的一些指标信息:
- 缺少服务端针对请求的响应时耗统计信息
- 缺少服务端响应的错误码分布情况
- 缺少服务数、实例数的统计,无法感知不同状态实例总数的一个变化情况
基于以上几点,在 polaris v1.15.0 版本中,我们针对服务端的几个核心指标进行上报并展示在控制台,方便用户观察北极星服务端运行时情况:
- 提供服务端响应的耗时统计,支持最大、最小、均值、P95以及P99的查询,支持按照接口、服务端节点进行筛选查看
- 提供服务端响应码的分布情况,支持按照接口、服务端节点进行筛选查看
- 提供服务数统计情况,用户可以查看到服务总数、在线服务数、异常服务数、离线服务数的变化曲线
- 提供实例数统计情况,用户可以查看到实例总数、在线实例数、异常实例数、隔离实例数的变化曲线
- 提供配置分组、配置文件、已发布配置文件的数量变化曲线
控制台预览
- 概览页面
- 服务和配置统计
- 服务端请求统计
里程碑规划
polaris 下个版本将继续围绕易用性、可观测性以及稳定性进行迭代,预计在4月初推出,计划提供下列功能:
服务调用监控
- 支持更详细的业务服务之间的流量调用监控
- 查看每个服务的调用数、QPS、响应延迟、成功率、错误码
- 查看服务调用数的情况:成功数、失败数、被限流请求数、被熔断请求数
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
8 - Release v1.14.0
下载地址
特性说明
更完善的熔断治理规则
在 polaris 1.14.0 版本前,熔断规则的易用性存在不好的地方。
- 仅支持节点级熔断。
- 熔断条件支持不够丰富,仅支持错误率和错误数。
- 无法根据用户自定义错误码以及响应延迟进行熔断。
- 主动探测规则无法配置。
基于以上几点,在 polaris v1.14.0 版本中,我们针对熔断规则的 spec 以及配置交互做了优化,解决了上述几个问题,当前用户可以根据自己的场景配置更加灵活的熔断规则:
- 支持服务级、接口级以及节点级的熔断规则配置。
- 支持时延、错误码的错误判断条件,用户可自行组合判断条件。
- 支持配置熔断恢复条件。
- 支持配置主动探测规则,与业务调用合并判断决定是否关闭熔断状态。
支持查看服务端连接数
-
社区用户在使用过程中,在升级服务端版本或者变更接入信息等场景中,发现无法观察北极星服务端中的客户端连接数量情况。因此在 polaris 控制台中我们新增北极星服务端自身的一些指标监控:
-
查看当前链接到北极星服务端的 SDK 实例连接数量
-
查看当前北极星服务端的服务发现链接数
-
查看当前北极星服务端的配置获取连接数
控制台预览
- 服务熔断配置
- 节点熔断配置
- 主动探测配置
- 服务端链接数查看
里程碑规划
polaris 下个版本将继续围绕易用性、可观测性以及稳定性进行迭代,预计在 3 月初推出,计划提供下列功能:
注册配置监控
- 支持更详细的北极星服务端请求数、响应延迟等指标监控图标。
- 支持提供服务数、实例数、配置数等指标监控图标。
更易用的路由规则
- 调整路由规则配置的交互以及规则定义,降低用户对于路由规则配置的理解以及上手成本。
配置导入导出
- 支持命名空间级别、配置分组级别的配置导入导出能力,提升用户对于配置中心的使用体验。
参与 PolarisMesh 社区
欢迎大家使用体验、Star、Fork、Issue,也欢迎大家参与 PolarisMesh 开源共建!
仓库地址:https://github.com/polarismesh/polaris
项目文档: https://polarismesh.cn/#/
往期发布:https://github.com/polarismesh/polaris/releases
9 - Release v1.13.0
下载地址
版本信息
polaris-server
Features
- [ISSUE #338] support config auth by @chuntaojun in https://github.com/polarismesh/polaris/pull/623
- feat: support data sync between eureka and polaris by @andrewshan in https://github.com/polarismesh/polaris/pull/818
Enhancement
- Fix: rename module name(#714) by @enjoyliu in https://github.com/polarismesh/polaris/pull/716
- protobuf go struct tag inject and other OS platfrom support by @onecer in https://github.com/polarismesh/polaris/pull/748
- Refactor remove third plugin by @chuntaojun in https://github.com/polarismesh/polaris/pull/756
- fix: 移除platform和bussiness逻辑代码(#720) by @alexwanglei in https://github.com/polarismesh/polaris/pull/761
- fix: #672 优化日志 by @hoErYu in https://github.com/polarismesh/polaris/pull/735
- feat: organize part of the repetitive content by @houseme in https://github.com/polarismesh/polaris/pull/767
- feat: 丰富运维管理接口相关接口swagger信息 by @onecer in https://github.com/polarismesh/polaris/pull/770
- [ISSUE #804] 支持 eureka 服务大小写不敏感在北极星的存储方式 by @reallovelei in https://github.com/polarismesh/polaris/pull/804
- feat: 北极星内部事件中心机制优化(#342) by @alexwanglei in https://github.com/polarismesh/polaris/pull/796
- feat:优化eureka插件大小写敏感,默认大小写不敏感 by @andrewshan in https://github.com/polarismesh/polaris/pull/820
- fix: #751 timewheel用来做轮转任务会每轮增加timewheel.interval时间的问题 by @hoErYu in https://github.com/polarismesh/polaris/pull/752
- Feature: improve code and improve golangci-lint config by @houseme in https://github.com/polarismesh/polaris/pull/777
- enrich naming swagger docs by @onecer in https://github.com/polarismesh/polaris/pull/778
- fix: 鉴权插件优化(#709) by @alexwanglei in https://github.com/polarismesh/polaris/pull/771
- 等待 apiserver 都启动完成,再自注册。 by @reallovelei in https://github.com/polarismesh/polaris/pull/785
- Golangci action part 1 by @chuntaojun in https://github.com/polarismesh/polaris/pull/763
- Fix action yaml name by @chuntaojun in https://github.com/polarismesh/polaris/pull/764
- feat: improve code golangci config by @houseme in https://github.com/polarismesh/polaris/pull/765
- feat: fix server exit or restart signal by @daheige in https://github.com/polarismesh/polaris/pull/768
- feat: code style for cache package by @daheige in https://github.com/polarismesh/polaris/pull/773
- feat: update go.mod for require by @daheige in https://github.com/polarismesh/polaris/pull/728
- feat: update namespace for code style by @daheige in https://github.com/polarismesh/polaris/pull/730
- feat: update plugin for code style by @daheige in https://github.com/polarismesh/polaris/pull/733
- [ISSUE #741] Fix import style by @chuntaojun in https://github.com/polarismesh/polaris/pull/740
- 优化mysql参数判断 by @reallovelei in https://github.com/polarismesh/polaris/pull/797
- Add batch clean instances maintian interface by @shichaoyuan in https://github.com/polarismesh/polaris/pull/784
- refactor:Adjust instance event implementation by @chuntaojun in https://github.com/polarismesh/polaris/pull/811
Plugins
- fix:discoverevent 添加上报日志到loki插件 (#648) by @alexwanglei in https://github.com/polarismesh/polaris/pull/708
- fix: history添加插件上报Loki(#656) by @alexwanglei in https://github.com/polarismesh/polaris/pull/719
Install
- fix: 修复polaris-console.yaml启动问题 by @xinyuwang in https://github.com/polarismesh/polaris/pull/725
- [ISSUE #737] Install standalone limiter by @chuntaojun in https://github.com/polarismesh/polaris/pull/746
- 修复:windows中修改端口后无效的问题 by @qindong0809 in https://github.com/polarismesh/polaris/pull/780
BugFix
- fix:优化v2路由规则对于v1路由规则的兼容逻辑 by @chuntaojun in https://github.com/polarismesh/polaris/pull/707
- fix:修改数据库升级脚本导入失败问题 by @andrewshan in https://github.com/polarismesh/polaris/pull/713
- [ISSUE #754] feat: 修复XDS正则表达式不生效问题 by @chuntaojun in https://github.com/polarismesh/polaris/pull/755
- [ISSUE #760] 限流规则禁用SDK无法感知 by @chuntaojun in https://github.com/polarismesh/polaris/pull/772
- fix-shellcheck(SC1128) The shebang must be on the first line. by @dyrnq in https://github.com/polarismesh/polaris/pull/815
- typo: 替换错别字 by @Skyenought in https://github.com/polarismesh/polaris/pull/816
- docs: 修复 README 中失效的链接 by @Skyenought in https://github.com/polarismesh/polaris/pull/806
- docs: 修复图片链接失效 by @Skyenought in https://github.com/polarismesh/polaris/pull/807
- feat: fix restart by @daheige in https://github.com/polarismesh/polaris/pull/810
- polaris 集群模式副本数取值错误问题 by @xuyiyu411 in https://github.com/polarismesh/polaris/pull/813
- fix:修复zh.toml中的错误码描述 by @chuntaojun in https://github.com/polarismesh/polaris/pull/743
- Fix limiter yaml name by @chuntaojun in https://github.com/polarismesh/polaris/pull/801
- 注释修正 by @reallovelei in https://github.com/polarismesh/polaris/pull/800
Test
- Unit test auth by @chuntaojun in https://github.com/polarismesh/polaris/pull/718
- 支持 eureka 服务大小写不敏感在北极星的存储方式,调整集成测试。 by @reallovelei in https://github.com/polarismesh/polaris/pull/809
- [ISSUE #759] feat: 添加 github action by @chuntaojun in https://github.com/polarismesh/polaris/pull/758
- Test/it bootstrap file by @chuntaojun in https://github.com/polarismesh/polaris/pull/788
- fix gilangci config by @houseme in https://github.com/polarismesh/polaris/pull/799
New Contributors
- @alexwanglei made their first contribution in https://github.com/polarismesh/polaris/pull/708
- @hoErYu made their first contribution in https://github.com/polarismesh/polaris/pull/735
- @qindong0809 made their first contribution in https://github.com/polarismesh/polaris/pull/780
- @reallovelei made their first contribution in https://github.com/polarismesh/polaris/pull/785
- @Skyenought made their first contribution in https://github.com/polarismesh/polaris/pull/806
- @xuyiyu411 made their first contribution in https://github.com/polarismesh/polaris/pull/813
- @dyrnq made their first contribution in https://github.com/polarismesh/polaris/pull/815
Full Changelog: 点击链接查看
10 - Release v1.12.0
下载地址
版本信息
polaris-server
功能优化
Bug修复
- [PR #650] 修复错误码 i18n 可能导致的空指针问题
- [PR #659] 限流规则匹配标签无法完全删除的问题
- [PR #661] 修复限流用例失败问题
- [PR #673] 修复eureka协议中心跳错误的处理
- [PR #684] 修复自定义路由v1转v2的id漂移问题
- [PR #693] 修复v2路由规则对于v1路由规则兼容逻辑
安装优化
- [PR #690] 单机版本支持部署 polaris-limiter 分布式限流server
- [PR #724] 修复helm部署包中polaris-console.yaml配置不对问题
新贡献者
Full Changelog: 点击链接查看
polaris-console
功能优化
- [PR #86] 优化服务实例新增/编辑表单
- [PR #91] Console 使用 Json Web Token 代替用户资源访问凭据,避免浏览器泄露用户Token
- [PR #99] 支持配置中心配置文件编辑页面全屏编辑
- [PR #102] beta能力 提供Swagger UI 供加载Polaris Server的OpenAPI 接口, 访问北极星控制台地址(127.0.0.1:8080/apidocs)即可
- [PR #110] 新建/编辑服务优化标签交互
Bug修复
- [PR #92] 修复编辑服务实例时不展示服务实例的地理位置信息数据
- [PR #98] 修复服务可观测性指标聚合查询语句不正确问题
配置变动
polaris-server.yaml
北极星的自注册服务只保留 polaris.checker ,其他自注册服务被移除
# server启动引导配置
bootstrap:
# 注册为北极星服务
polaris_service:
# probe_address: ##DB_ADDR##
enable_register: true
isolated: false
services:
- name: polaris.checker
protocols:
- service-grpc
升级步骤
注意:升级步骤仅针对部署了北极星集群版本
之前已经安装过北极星集群
北极星服务端升级操作
执行 SQL 升级动作
- 登陆北极星的MySQL存储实例
- 执行以下 SQL 增量脚本
mysql -u $db_user -p $db_pwd -h $db_host < store/sqldb/scripts/delta/v1_11_0-v1_12_0.sql
北极星控制台升级操作
更新 polaris-console.yaml
logger:
RotateOutputPath: log/polaris-console.log
RotationMaxSize: 500
RotationMaxAge: 30
RotationMaxBackups: 100
level: info
webServer:
mode: "release"
listenIP: "0.0.0.0"
listenPort: 8080
jwt:
secretKey: "polarismesh@2021"
expired: 1800
namingV1URL: "/naming/v1" # 本次 v1.9.0 版本变动
namingV2URL: "/naming/v2" # 本次 v1.9.0 版本变动
authURL: "/core/v1"
configURL: "/config/v1"
monitorURL: "/api/v1"
webPath: "web/dist/"
polarisServer:
address: "{北极星服务端IP}:8090"
monitorServer:
address: "127.0.0.1:9090"
oaAuthority:
enableOAAuth: false
hrData:
enableHrData: false
11 - Release v1.11.0
下载地址
版本信息
polaris-server
功能优化
- [PR #532] 支持配置某些服务在控制台列表进行隐藏
- [PR #526] 支持配置模版功能(UI交互暂未支持)
- [PR #552] 新限流后台功能 & UI 交互优化
- [PR #550] 服务端报错支持 i18n
- [PR #553] 配置中心代码结构调整
Bug修复
- [ISSUE #520] 服务注册后,没有做任何操作但是实例的修改时间会发生变化
安装优化
- [PR #530] 调整 docker 镜像 tag 的发布规则
代码测试
- [PR #509] 单元测试 & 集成测试添加MySQL存储测试场景
- [PR #542] 优化整体的集成测试 & 单元测试
- [PR #548] 单元测试 & 集成测试添加Redis存储测试场景
新贡献者
- @mhcvs2 made their first contribution in https://github.com/polarismesh/polaris/pull/530
- @GuiyangZhao made their first contribution in https://github.com/polarismesh/polaris/pull/532
- @shuiqingliu made their first contribution in https://github.com/polarismesh/polaris/pull/548
- @mangoGoForward made their first contribution in https://github.com/polarismesh/polaris/pull/547
Full Changelog: https://github.com/polarismesh/polaris/compare/v1.10.0...v1.11.1
polaris-console
功能优化
- [PR #66] 创建配置文件时,文件的格式自动从文件名中识别
- [PR #66] 调整创建配置文件页面 Card body 的高度,尽可能充满整个浏览器
- [PR #86] 优化服务实例新增/编辑表单
Bug修复
- [PR #95] 修复前端删除熔断规则最后一条时没有触发熔断规则解绑
升级步骤
注意:升级步骤仅针对部署了北极星集群版本
之前已经安装过北极星集群
执行 SQL 升级动作
- 登陆北极星的MySQL存储实例
- 执行以下 SQL 增量脚本
mysql -u $db_user -p $db_pwd -h $db_host < store/sqldb/scripts/delta/v1_8_0-v1_11_0.sql