Nepxion/DiscoveryGuide

rule不生效

beesman182 opened this issue · 3 comments

discovery-guide-gateway
eureka

MySubscriber 在A1, A2,B1,B2中确认过都拉了最新的rule

<?xml version="1.0" encoding="UTF-8"?>
<rule>
    <!-- 基于Http Header传递的策略路由,全局缺省路由(第三优先级) -->
    <strategy>
        <version>{"discovery-guide-service-a":"1.0", "discovery-guide-service-b":"1.0"}</version>
    </strategy>

    <!-- 基于Http Header传递的定制化策略路由,支持蓝绿部署和灰度发布两种模式。如果都不命中,则执行上面的全局缺省路由 -->
    <strategy-customization>
        <!-- 全链路蓝绿部署:条件命中的匹配方式(第一优先级),支持版本匹配、区域匹配、IP地址和端口匹配、版本权重匹配、区域权重匹配 -->
        <!-- Header节点不允许缺失 -->
        <conditions type="blue-green">
            <condition id="condition1" header="#H['a'] == '1'" version-id="version-route2"/>
            <condition id="condition2" header="#H['a'] == '1' &amp;&amp; #H['b'] == '2'" version-id="version-route1"/>
        </conditions>

        <routes>
            <route id="version-route1" type="version">{"discovery-guide-service-a":"1.1", "discovery-guide-service-b":"1.1"}</route>
            <route id="version-route2" type="version">{"discovery-guide-service-a":"1.0", "discovery-guide-service-b":"1.1"}</route>
        </routes>
    </strategy-customization>
</rule>

但是调用
http://localhost:5001/discovery-guide-service-a/invoke/gateway
把a=1 header勾上 A服务还是在1.0, 1.1中调用 难道不是只调用1.0 吗?

gateway的配置没更新

网关配置了,服务不需要配置,用局部配置,去掉全局配置

以上配置 《A 1.1》 --> 《B 1.1》 当 《B 1.1》 服务下线的时候,并不会走 全局缺省路由《B 1.0》