Dubbo: 往zookeeper写入动态规则禁用某台服务提供者无效

Created on 15 Aug 2017  ·  4Comments  ·  Source: apache/dubbo

写入测试代码如下:

public class Test {
    public static void main(String[] args) {
        RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
        Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://121.xxx.xx.xxx:2181"));
        //registry.unregister(URL.valueOf("condition://0.0.0.0/com.hebao.bixia.learn.service.DubboStopTestService?category=routers&dynamic=false&rule=" + URL.encode(" => host != 120.24.98.98") ));
        registry.register(URL.valueOf("override://120.xxx.xx.xxx/com.debdo.bixc.learn.service.DubboStopTestService?category=providers&dynamic=false&disbaled=true" ));
    }
}

服务端代码简单打印如下:

public class DubboStopTestServiceImpl implements DubboStopTestService {

    public void testStop() {
        System.out.println("test------------------------");
    }

}

在两台服务器上120,121上分别跑该服务,客户端模拟调用代码如下:

public class DubboStopTestServiceTest extends TestSuper{
    @Autowired
    private DubboStopTestService dubboStopTestService;

    @Test
    public void test() {
        while(true) {
            try {
                Thread.currentThread().sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            dubboStopTestService.testStop();
        }
    }
}

现在我写入上面的覆盖规则是想让120机器不在接收客户端的请求,而写入规则并没有生效,
120的服务器还是能持续接收请求,打印出test. 求懂的人帮忙解答。

Most helpful comment

禁用后,可用的provider节点要有1个以上。否则dubbo出于保护机制,如果配置规则导致可用provider列表为空,配置不生效

All 4 comments

override://120.xxx.xx.xxx/com.debdo.bixc.learn.service.DubboStopTestService?category=configurators&dynamic=false&disbaled=true
配置成这个,120的这台机器上的节点,仍然会接收到客户端的请求,没有被禁用掉。

禁用后,可用的provider节点要有1个以上。否则dubbo出于保护机制,如果配置规则导致可用provider列表为空,配置不生效

有的,我是在服务的节点有两个,120,121的,我现在禁用120的这台无效,120,121还是都能收到请求。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

yiding-he picture yiding-he  ·  4Comments

1061235166 picture 1061235166  ·  3Comments

jiangmin168168 picture jiangmin168168  ·  3Comments

BugZuo picture BugZuo  ·  4Comments

kekerzzZ picture kekerzzZ  ·  3Comments