dubbo-tag-subnets will generate a tag by subnets, then consumer will prefer rpc provider in the same subnets.
cn|shanghai|a: - 172.37.66.0/24 #zone=cn-shanghai-a cn|shanghai|b: - 172.37.68.0/24 #zone=cn-shanghai-b cn|shanghai|c: - 172.37.69.0/24 #zone=cn-shanghai-c
cn|shanghai|a|cell-1: - 172.31.35.0/24 #zone=cn-shanghai-a cn|shanghai|a|cell-2: - 172.31.36.0/24 #zone=cn-shanghai-a cn|shanghai|a|cell-3: - 172.31.37.0/24 #zone=cn-shanghai-a
cn|shanghai|a: - 172.37.66.0/24 #zone=cn-shanghai-a cn|hangzhou|b: - 172.37.67.0/24 #zone=cn-hangzhou-b cn|shenzhen|c: - 172.37.68.0/24 #zone=cn-shenzhen-c "": - 172.37.69.0/24 #zone=cn-shanghai-d, as common service
<dependency> <groupId>org.apache.dubbo.extensions</groupId> <artifactId>dubbo-tag-subnets</artifactId> <version>${dubbo-tag-subnets-version}</version> </dependency>
echo 'cn|cn-northwest|cell-1: - 172.37.66.0/24 #cn-northwest-1a cn|cn-north|cell-2: - 172.37.67.0/24 #cn-northwest-1b cn|cn-north: - 192.168.1.0/24 #cn-north-1a ' | tee tag.subnets.yaml ./zkCli.sh create /dubbo/config/tag.subnets "" ./zkCli.sh set /dubbo/config/tag.subnets "$(cat tag.subnets.yaml)" ./zkCli.sh get /dubbo/config/tag.subnets