本示例展示了如何在一个 Dubbo go 应用中使用标签路由和条件路由。有关标签路由和条件路由更多的信息,请参考文档:条件路由 and 标签路由。
可以通过本地的一个 yaml 配置文件来配置路由。在子目录 “go-client/config/router_config.yml” 下可以找到相关的示例配置,例如:
routerRules: - scope: application force: true runtime: false enabled: true valid: true priority: 1 key: demo-provider tags: - name: beijing addresses: [192.168.1.1, $HOST_IP] - name: shenzhen addresses: [192.168.1.3, 192.168.1.4]
在这个配置文件中您可能注意到了变量 ‘$HOST_IP’。运行示例之前,您需要将它替换成您的服务提供方的 IP,可以通过运行以下命令的方式获取:
ifconfig en0 | grep inet | grep -v inet6 | awk '{print $2}'
通过环境变量 ‘CONF_ROUTER_FILE_PATH’ 指定本地路由配置的方式对于开发环境来说是十分方便的。对比于这种方式,在生产上使用时,更建议通过 Dubbo Admin 来下发路由配置。
为了让路由配置能够被 Dubbo go 应用感知到,应用需要提前配置好配置中心,如下所示:
config_center: protocol: "zookeeper" address: "127.0.0.1:2181"