微服務集羣環境零停機發布腳本


#通知負載均衡haproxy器將我下線,負載均衡有3個管理端口,分別管理3個內核進程。
curl -u admin:123456 -d "s=app_198_1&action=drain&b=#12" -o /dev/null   "http://10.0.0.1:19100/admin_status"
curl -u admin:123456 -d "s=app_198_1&action=drain&b=#12" -o /dev/null   "http://10.0.0.1:19101/admin_status"
curl -u admin:123456 -d "s=app_198_1&action=drain&b=#12" -o /dev/null   "http://10.0.0.1:19102/admin_status"


#等待前端接口超時時間過去
echo "等待負載均衡排幹請求 ......"
sleep 15s

#給JVM發送shutdown指令,觸發優雅停機
SERVERPID1=`netstat -ntlp  | grep 15000 | awk -F [/]  '{print $1}'|awk -F ' '  '{print $NF}'`

if [ "$SERVERPID1" != "" ]
  then    kill $SERVERPID1
fi

#等待優雅停機結束,發現端口占用消失。
waitShutDownTimes=0
shutDownTimeOut=10
while true
do
 SERVERPID1=`netstat -ntlp  | grep 15000 | awk -F [/]  '{print $1}'|awk -F ' '  '{print $NF}'`
 if [ "$SERVERPID1" = "" ]
 then
   echo "端口占用進程消失....."
   b

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章