本文描述了go微服务框架kratos使用过程中的一些额外事项
环境
mac
win
1 2
| $ consul agent -dev $ curl localhost:8500
|
kratos pb规范
生成api proto
1 2
| $ kratos proto add api/project/service/v1/project.proto $ kratos proto client api/project/service/v1/project.proto
|
1 2 3 4 5 6 7 8
| $ $ protoc --go_out=. \ --proto_path=. \ --proto_path=./third_party \ --go_opt=paths=source_relative \ --go-grpc_out=. \ --go-grpc_opt=paths=source_relative \ api/project/service/v1/project.proto
|
1 2 3 4 5 6 7
| $ $ protoc --proto_path=. \ --proto_path=./third_party \ --openapiv2_out . \ --openapiv2_opt logtostderr=true \ --openapiv2_opt json_names_for_fields=false \ api/project/service/v1/project.proto
|
生成conf proto
1 2
| $ $ protoc --go_out=. --go_opt=paths=source_relative app/project/service/internal/conf/conf.proto
|
生成wire文件
Goland Debug 配置
Goland Edit Configuration
选择go build -> Directory
Directory: 选择入口go文件所在目录,如:E:\src\_outer\beer-shop\app\user\service\cmd\server
勾选Run after build
Working directory: 选择项目文件所在目录,如:E:\src\_outer\beer-shop\app\user\service
Program arguments:填写执行时需传入的参数,如:-conf E:\src\_outer\beer-shop\app\user\service\configs
手工编译运行
1 2 3
| $ $ go build -o ./bin/ ./... $ ./bin/server -conf ./configs
|
docker编译运行
1 2 3
| $ $ docker build -f ./deploy/build/Dockerfile --build-arg APP_RELATIVE_PATH=user/service --build-arg APP_ENV=docker -t user . $ docker run -it --rm -p 8000:8000 -p 9000:9000 -v E:\\src\\_outer\\log:/data/log user
|
语言
库
mysql
mysql连接报错: is not allowed to connect to this MySQL server
1 2
| update user set host = '%' where user ='root'; flush privileges;
|
框架
参考
kratos2.0 goland debug配置