创建项目
首先需要安装好对应的依赖环境,以及工具:
- go
- protoc
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
- protoc-gen-go
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
# 创建项目模板
kratos new helloworld
cd helloworld
# 拉取项目依赖
go mod download
# 生成proto模板
kratos proto add api/helloworld/helloworld.proto
# 生成proto源码
kratos proto client api/helloworld/helloworld.proto
# 生成server模板
kratos proto server api/helloworld/helloworld.proto -t internal/service
执行命令后,会在当前目录下生成一个 service 工程,工程骨架如下,具体的工程骨架说明可以访问 layout
运行项目
# 生成所有proto源码、wire等等
go generate ./...
# 编译成可执行文件
go build -o ./bin/ ./...
# 运行项目
./bin/helloworld -conf ./configs
看到如下输出则证明项目启动正常
level=INFO module=app service_id=7114ad8a-b3bf-11eb-a1b9-f0189850d2cb service_name= version=
level=INFO module=transport/grpc msg=[gRPC] server listening on: [::]:9000
level=INFO module=transport/http msg=[HTTP] server listening on: [::]:8000
测试接口
curl 'http://127.0.0.1:8000/helloworld/krtaos'
输出:
{
"message": "Hello kratos"
}
应用是如何跑起来的?
通过上面的图例