开发者社区> 问答> 正文

Dubbo动态路配置路由的规则是什么?

Dubbo动态路配置路由的规则是什么?

展开
收起
游客gzyuldo4mrg6i 2022-03-16 23:58:46 866 0
1 条回答
写回答
取消 提交回答
  • dubbo服务的调用都是通过zookeeper注册中心完成。

    dubbo是支持写入路由规则的,如在服务调用前,加入下面代码:

    RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();

    Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));

    registry.register(URL.valueOf("condition://0.0.0.0/com.foo.BarService?category=routers&dynamic=false&rule="+ URL.encode("http://10.20.160.198/wiki/display/dubbo/host = 10.20.153.10 => host = 10.20.153.11") + "));

    以上代码的规则,概括就是:对于所有调用com.foo.BarService接口的消费者,如果消费者的ip是"10.20.153.10",那么这个消费者将调用ip为"10.20.153.11"的提供者,这样,通过动态配置注册中心的路由规则,就实现了动态指定某个提供者的需求。

    2022-03-17 00:00:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Dubbo开源现状与2.7规划 立即下载
Dubbo分布式服务治理实战 立即下载
《Dubbo 3.0 前瞻》 立即下载