go micro 学习 start sh

start-all.sh

#!/bin/bash

# 检查service进程
check_process() {
    sleep 1
    res=`ps aux | grep -v grep | grep "service/bin" | grep $1`
    if [[ $res != '' ]]; then
        echo -e "\033[32m 已启动 \033[0m" "$1"
        return 1
    else
        echo -e "\033[31m 启动失败 \033[0m" "$1"
        return 0
    fi
}

# 编译service可执行文件
build_service() {
    go build -o service/bin/$1 service/$1/main.go
    resbin=`ls service/bin/ | grep $1`
    echo -e "\033[32m 编译完成: \033[0m service/bin/$resbin"
}

# 启动service
run_service() {
    nohup ./service/bin/$1 --registry=consul >> $logpath/$1.log 2>&1 &
    sleep 1
    check_process $1
}

# 创建运行日志目录
logpath=/data/log/filestore-server
mkdir -p $logpath

# 切换到工程根目录
cd $GOPATH/filestore-server
#cd /data/go/work/src/filestore-server

# 微服务可以用supervisor做进程管理工具;
# 或者也可以通过docker/k8s进行部署

services="
dbproxy
upload
download
transfer
account
apigw
"

# 执行编译service
mkdir -p service/bin/ && rm -f service/bin/*
for service in $services
do
    build_service $service
done

# 执行启动service
for service in $services
do
    run_service $service
done

echo '微服务启动完毕.'

stop-all.sh

#!/bin/bash

stop_process() {
    sleep 1
    pid=`ps aux | grep -v grep | grep "service/bin" | grep $1 | awk '{print $2}'`
    if [[ $pid != '' ]]; then
	ps aux | grep -v grep | grep "service/bin" | grep $1 | awk '{print $2}' | xargs kill
        echo -e "\033[32m已关闭: \033[0m" "$1"
        return 1
    else
        echo -e "\033[31m并未启动: \033[0m" "$1"
        return 0
    fi
}


services="
apigw
account
transfer
download
upload
dbproxy
"

# 关闭service
for sname in $services
do
    stop_process $sname
done

echo "执行完毕."

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值