kelvins-tools

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2021 License: BSD-3-Clause Imports: 5 Imported by: 0

README

kelvins-tools

介绍

kelvins工具箱
用于一键生成kelvins模板应用,支持rpc,cron,queue,http,proto

基于
gitee.com/kelvins-io/kelvins v1.5.10
进度
类型 是否实现 用法 后期计划
rpc 实现 -kind=rpc 完善
proto 实现 -kind=proto 完善
cron 实现 -kind=cron 完善
queue 实现 -kind=queue 完善
http 实现(gin) -kind=http 完善http.ServeMutex
效果

rpc效果
avatar

安装教程
  1. 编译
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
  1. 生成应用,kind表示模板类型,np表示仓库import前缀,repo仓库名
# 生成项目proto仓库
kelvins-tools -kind=proto -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成RPC服务模板
kelvins-tools -kind=rpc -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成cron服务模板
kelvins-tools -kind=cron -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成queue服务模板
kelvins-tools -kind=queue -np=gitee.com/kelvins-io -repo=kelvins-template
# 生成http/gin服务模板
kelvins-tools -kind=http -np=gitee.com/kelvins-io -repo=kelvins-template-http
  1. rpc服务编译运行
cd kelvins-template
python genpb.py ../kelvins-template-proto
sh build.sh
# 运行前请看使用说明
# 编辑etc/app.ini配置,填写自己的配置,模板配置里默认启用了amqp
sh start.sh
  1. rpc测试服务
cd kelvins-template/client
go test -v
  1. RPC服务健康检查
    当RPC APP的RegisterHealthServer不为nil时,kelvins就会为服务注入健康检查server,并在协程中启动监控维护函数
    使用grpc-health-probe工具命令进行健康检查
    kelvins rpc对健康检查接入做了免授权,所以即使服务开启了token验证也是可用的
# 安装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=""
  1. cron服务编译运行
cd kelvins-template-cron
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
# 直接运行方便查看控制台输出
./kelvins-template-cron
  1. queue服务编译运行
cd kelvins-template-consumer
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
sh start.sh
  1. http服务编译运行
cd kelvins-template-http
sh build.sh
# 编辑etc/app.ini配置,填写自己的配置
sh start.sh
cd client
go test -v
使用说明
  1. rpc和http服务默认启动会注册到ETCD集群,并配置环境变量
export ETCDCTL_API=3
export ETCDV3_SERVER_URLS=http://10.211.55.24:2379,http://10.211.55.25:2379
  1. rpc,http服务映射host
127.0.0.1 kelvins-template
  1. rpc采用gRPC,如果使用请安装依赖库
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 github.com/elazarl/go-bindata-assetfs/...
python 2.7或3.5
  1. 模板支持的配置参考kelvins仓库README

###技术交流 QQ群:852053097
avatar
邮件:1225807604@qq.com

参与贡献
  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL