Skip to content

如何理解规则策略里内容格式配置

HaojunRen edited this page May 31, 2024 · 2 revisions

无论蓝绿灰度、路由、故障转移、黑名单屏蔽等功能,对于涉及到版本、区域、环境、可用区、IP地址和端口等多个维度内容的配置格式,都支持非常灵活的配置

以版本为例子,说明一下内容格式

匹配方式

当所有服务都选同一版本的时候,下面两条是等效的

<version>1.0</version>
<version>{"discovery-guide-service-a":"1.0", "discovery-guide-service-b":"1.0"}</version>

如果希望可调用的版本是多个,也可以表示成如下方式,即1.0版本和1.1版本的a服务和b服务都可以被调用到,下面两条是等效的

<version>1.0;1.1</version>
<version>{"discovery-guide-service-a":"1.0;1.1", "discovery-guide-service-b":"1.0;1.1"}</version>

如果上述表达式还未满足需求,也可以采用通配表达式方式(具体详细用法,参考Spring AntPathMatcher),通过Spring Matcher的通配表达式,支持多个通配*、单个通配?等全部标准表达式用法

* - 表示调用范围为所有版本
1.* - 表示调用范围为1开头的所有版本

例如

"discovery-guide-service-b":"1.*;1.2.?"

表示discovery-guide-service-b服务的调用范围是1开头的所有版本,或者调用范围是1.2开头的所有版本(末尾必须是1个字符),多个用分号隔开

权重方式

当所有服务都选相同区域流量权重分配的时候,下面两条是等效的

<version-weight>1.0=90;1.1=10</version-weight>
<version-weight>{"discovery-guide-service-a":"1.0=90;1.1=10", "discovery-guide-service-b":"1.0=90;1.1=10"}</version-weight>

权重方式不支持通配表达式




2017-2050 ©Nepxion Studio Apache License

           

Total visits

讲义篇

集成篇

概念篇

实践篇

功能篇

配置篇

扩展篇

测试篇

升级篇

贡献篇

Clone this wiki locally