dis_routing.sh
#!/bin/bash
date=`date +%Y%m%d_%H_%M`
DUBBO_IP="xx.xx.xx.xx:29010" ###dubbo服务
DUBBOADMIN_IP="xx.xx.xx.xx:8080" ###dubbo管理端
DIR_FW=/app/routes/lsf-core/
dubboadmin_user=root
dubboadmin_passwd=root
TEST_IP=xx.xx.xx.xx
if [ ! -d "${DIR_FW}" ];then
mkdir -p ${DIR_FW}
fi
if [ ! -d "${DIR_FW}bak" ];then
mkdir -p ${DIR_FW}bak
fi
if [ -e "${DIR_FW}"route.log ];then
touch ${DIR_FW}route.log
else
mv ${DIR_FW}route.log ${DIR_FW}bak/route_$date
touch ${DIR_FW}route.log
fi
fwm=`curl -s -u ${dubboadmin_user}:${dubboadmin_passwd} -b tmp=tmp "http://${DUBBOADMIN_IP}/governance/addresses/${DUBBO_IP}/providers" | grep -P -o "(?<='确认禁用', 'dubbo://${DUBBO_IP}/)[\.A-Za-z]+"`
for i in ${fwm};
do
route=`echo "create /dubbo/${i}/routers/route%3A%2F%2F0.0.0.0%2F${i}%3Fcategory%3Drouters%26dynamic%3Dfalse%26enabled%3Dtrue%26force%3Dfalse%26name%3D${i}%26priority%3D0%26router%3Dcondition%26rule%3D%2B%253D%253E%2Bprovider.host%2B%2521%253D%2B${TEST_IP}%26runtime%3Dfalse lichen" >> ${DIR_FW}route.log`
done
routes=`cat ${DIR_FW}route.log`
cd /app/dubbo/zookeeper-3.4.6/bin/;./zkCli.sh << EOF
${routes}
>>EOF
quit
#!/bin/bash
date=`date +%Y%m%d_%H_%M`
DUBBO_IP=$1
DUBBO_PORT=$2
SERVICE_NAME=$3
DUBBOADMIN_IP="xx.xx.xx.xx:8080"
DIR_FW=/app/routes/$SERVICE_NAME/
dubboadmin_user=root
dubboadmin_passwd=root
if [ ! -d "${DIR_FW}" ];then
mkdir -p ${DIR_FW}
fi
if [ ! -d "${DIR_FW}bak" ];then
mkdir -p ${DIR_FW}bak
fi
if [ ! -e "${DIR_FW}"reroute.log ];then
touch ${DIR_FW}reroute.log
else
mv ${DIR_FW}reroute.log ${DIR_FW}bak/reroute_$date
touch ${DIR_FW}reroute.log
fi
fwm=`cat ${DIR_FW}route.log | sed 's/^create/rmr/g' | awk -F "/" '{print $1,"/"$2"/"$3"/routers"}'`
cd /app/dubbo/zookeeper-3.4.6/bin/;./zkCli.sh <${fwm}
EOF
re_routing.sh
#!/bin/bash
date=`date +%Y%m%d_%H_%M`
date1=`date +%s`
#DUBBO_IP="xx.xx.xx.xx:29010"
DUBBO_IP=$1
DUBBO_PORT=$2
SERVICE_DIR=$3
DUBBOADMIN_IP="xx.xx.xx.xx:8080"
DIR_FW=/app/routes/$SERVICE_DIR/
dubboadmin_user=root
dubboadmin_passwd=root
if [[ ! -n "${DUBBO_IP}" || ! -n "${DUBBO_PORT}" || ! -n "${SERVICE_DIR}" ]];then
echo "请重新输入"
exit
fi
if [ ! -d "${DIR_FW}" ];then
mkdir -p ${DIR_FW}
fi
if [ ! -d "${DIR_FW}bak" ];then
mkdir -p ${DIR_FW}bak
fi
if [ ! -f "${DIR_FW}"route.log ];then
touch ${DIR_FW}route.log
else
mv ${DIR_FW}route.log ${DIR_FW}bak/route_$date
touch ${DIR_FW}route.log
fi
fwm=`curl -s -u ${dubboadmin_user}:${dubboadmin_passwd} -b tmp=tmp "http://${DUBBOADMIN_IP}/governance/addresses/${DUBBO_IP}:${DUBBO_PORT}/providers" | grep -P -o "(?<='确认禁用', 'dubbo://${DUBBO_IP}:${DUBBO_PORT}/)[\.A-Za-z]+"`
for i in ${fwm};
do
route=`echo "create /dubbo/${i}/routers/route%3A%2F%2F0.0.0.0%2F${i}%3Fcategory%3Drouters%26dynamic%3Dfalse%26enabled%3Dtrue%26force%3Dfalse%26name%3D${i}${date1}%26priority%3D0%26router%3Dcondition%26rule%3D%2B%253D%253E%2Bprovider.host%2B%2521%253D%2B${DUBBO_IP}%26runtime%3Dfalse null" >> ${DIR_FW}route.log`
done
routes=`cat ${DIR_FW}route.log`
cd /app/dubbo/zookeeper-3.4.6/bin/;./zkCli.sh << EOF
${routes}
EOF
if [ $? -eq 0 ];then
exit 0
else
exit 1
fi
本文档介绍了如何使用dis_routing.sh和re_routing.sh脚本来管理Dubbo服务的路由,包括剔除路由和重新设置路由的过程。
1299

被折叠的 条评论
为什么被折叠?



