代码拉取完成,页面将自动刷新
kelvins工具箱
用于一键生成kelvins模板应用,支持rpc,cron,queue,http,proto
用于列举在线服务节点信息
用于检测在线服务节点健康状态(rpc应用需要启用健康server,http服务需要有/路由)
用于清理在线服务节点
gitee.com/kelvins-io/kelvins v1.6.2
类型 | 是否实现 | 用法 | 后期计划 |
---|---|---|---|
rpc | 实现 | -kind=rpc | 完善 |
proto | 实现 | -kind=proto | 完善 |
cron | 实现 | -kind=cron | 完善 |
queue | 实现 | -kind=queue | 完善 |
http | 实现(gin) | -kind=http | 完善http.ServeMutex |
rpc效果
git clone https://gitee.com/kelvins-io/kelvins-tools.git
cd kelvins-tools
sh build.sh
2.将kelvins-tool移动到/usr/local/go/bin或为kelvins-tools添加环境变量
sudo mv kelvins-tools /usr/local/go/bin/
3.进入要创建项目的根目录,如
cd $GOPATH/src/gitee.com/kelvins-io
# 生成项目proto仓库
kelvins-tools -operate=template -kind=proto -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成RPC服务模板
kelvins-tools -operate=template -kind=rpc -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成cron服务模板
kelvins-tools -operate=template -kind=cron -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成queue服务模板
kelvins-tools -operate=template -kind=queue -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成http/gin服务模板
kelvins-tools -operate=template -kind=http -np=gitee.com/kelvins-io -repo=kelvins-template-http
cd kelvins-template
python genpb.py ../kelvins-template-proto
sh build.sh
# 运行前请看使用说明
# 编辑etc/app.ini配置,填写自己的配置,模板配置里默认启用了amqp
sh start.sh
cd kelvins-template/client
go test -v
# 安装grpc-health-probe
git clone https://github.com/grpc-ecosystem/grpc-health-probe && cd grpc-health-probe && go build
# 查看命令
grpc-health-probe --help
# 对指定服务监控检查,服务名必须正确 完整
grpc-health-probe -addr=127.0.0.1:58688 -service="kelvins_template.YourService"
# 对整体服务健康检查
grpc-health-probe -addr=127.0.0.1:58688 -service=""
# 特别说明 下面的开关针对作为调用RPC的客户端来说对已经建立的其它服务的连接是否关闭健康检查
[kelvins-rpc-server].DisableClientDialHealthCheck
使用kelvins-tools工具管理在线服务
1 列举服务的所有节点
name参数支持英文逗号分隔的多个服务名
sequence参数无效
kelvins-tools -operate=service -name=micro-mall-users,micro-mall-order,micro-mall-pay,micro-mall-sku -action=list
/kelvins-service.kelvins-template.cluster/54539 content:{ServiceVersion:1.6.1 ServicePort:54539 ServiceIP:192.168.0.101 ServiceKind:gRPC LastModified:2021-10-18 19:46:38}
/kelvins-service.kelvins-template.cluster/58766 content:{ServiceVersion:1.6.1 ServicePort:58766 ServiceIP:192.168.0.101 ServiceKind:gRPC LastModified:2021-10-18 19:46:02}
/kelvins-service.kelvins-template.cluster/52411 content:{ServiceVersion:1.6.1 ServicePort:52411 ServiceIP:192.168.0.101 ServiceKind:gRPC LastModified:2021-10-18 19:46:16}
2 对服务节点健康探测
name参数只支持一个服务名
sequence参数支持英文逗号分隔的多个节点号,为空则探测所有节点
kelvins-tools -operate=service -name=micro-mall-users -action=ping -sequence=50750,50751
service-name(kelvins-template) addr(192.168.0.101:58766) response status:SERVING
service-name(kelvins-template) addr(192.168.0.101:52411) response status:SERVING
service-name(kelvins-template) addr(192.168.0.101:54539) response status:SERVING
3 清除服务节点
name参数只支持一个服务名
sequence参数支持英文逗号分隔的多个节点号(不能为空)
kelvins-tools -operate=service -name=micro-mall-users -action=clear -sequence=50750,50751
cd kelvins-template-cron
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
# 直接运行方便查看控制台输出
./kelvins-template-cron
cd kelvins-template-consumer
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
sh start.sh
cd kelvins-template-http
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
sh start.sh
cd client
go test -v
export ETCDCTL_API=3
export ETCDV3_SERVER_URLS=http://10.211.55.24:2379,http://10.211.55.25:2379
127.0.0.1 kelvins-template
protoc 安装方法如下
wget https://github.com/google/protobuf/releases/download/v3.14.0/protobuf-all-3.14.0.zip
unzip protobuf-all-3.14.0.zip
cd protobuf-3.14.0/
./configure
make
make install
# 如果报错请执行
ldconfig
# grpc相关
go get -u google.golang.org/grpc@v1.32.0
go get -u google.golang.org/protobuf@v1.25.0
go get -u github.com/golang/protobuf/protoc-gen-go@v.1.4.3
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v1.14.3
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
go get -u github.com/jteeuwen/go-bindata/...
go get -u github.com/elazarl/go-bindata-assetfs/...
python 2.7或3.5
###技术交流 邮件:1225807604@qq.com
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。