Post

kratos base

kratos 环境搭建

  • 安装 kratos go get -u github.com/go-kratos/kratos/tool/kratos

使用 kratos 脚手架创建项目

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
$ kratos new kratos_7
go get -u github.com/go-kratos/kratos/tool/kratos-gen-project@v0.5.0
go: found github.com/go-kratos/kratos/tool/kratos-gen-project in github.com/go-kratos/kratos v0.5.0
go: github.com/gobuffalo/logger upgrade => v1.0.3
go: github.com/rogpeppe/go-internal upgrade => v1.6.0
go: golang.org/x/sys upgrade => v0.0.0-20200625212154-ddb9806d33ae
go: github.com/gobuffalo/envy upgrade => v1.9.0
go: github.com/urfave/cli/v2 upgrade => v2.2.0
go: github.com/gobuffalo/packr/v2 upgrade => v2.8.0
go: github.com/gobuffalo/packd upgrade => v1.0.0
go: golang.org/x/crypto upgrade => v0.0.0-20200622213623-75b288015ac9
go: github.com/sirupsen/logrus upgrade => v1.6.0
go: github.com/cpuguy83/go-md2man/v2 upgrade => v2.0.0
go: github.com/konsorten/go-windows-terminal-sequences upgrade => v1.0.3
go: downloading github.com/gobuffalo/packr/v2 v2.8.0
go: downloading github.com/gobuffalo/packd v1.0.0
go: downloading github.com/gobuffalo/logger v1.0.3
go: downloading github.com/karrick/godirwalk v1.15.3
go: downloading github.com/markbates/safe v1.0.1
go: downloading github.com/markbates/oncer v1.0.0
go: downloading github.com/markbates/errx v1.1.0
go: downloading golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
go: github.com/karrick/godirwalk upgrade => v1.15.6
go: downloading github.com/karrick/godirwalk v1.15.6
genproject: 安装成功!
go: finding module for package github.com/google/wire
# get https://goproxy.io/github.com/@v/list
# get https://goproxy.io/github.com/google/wire/@v/list
# get https://goproxy.io/github.com/google/@v/list
# get https://goproxy.io/github.com/google/wire/@v/list: 200 OK (0.192s)
# get https://goproxy.io/github.com/@v/list: 404 Not Found (0.199s)
# get https://goproxy.io/github.com/google/@v/list: 404 Not Found (0.192s)
# get https://goproxy.io/sumdb/sum.golang.org/supported
# get https://goproxy.io/sumdb/sum.golang.org/supported: 200 OK (0.013s)
# get https://goproxy.io/sumdb/sum.golang.org/lookup/github.com/google/wire@v0.4.0
# get https://goproxy.io/sumdb/sum.golang.org/lookup/github.com/google/wire@v0.4.0: 200 OK (0.016s)
# get https://goproxy.io/sumdb/sum.golang.org/tile/8/0/x002/080
# get https://goproxy.io/sumdb/sum.golang.org/tile/8/0/x002/080: 200 OK (0.017s)
go: found github.com/google/wire in github.com/google/wire v0.4.0
# get https://goproxy.io/sumdb/sum.golang.org/lookup/golang.org/x/tools@v0.0.0-20190422233926-fe54fb35175b
# get https://goproxy.io/sumdb/sum.golang.org/lookup/github.com/google/subcommands@v1.0.1
# get https://goproxy.io/sumdb/sum.golang.org/lookup/golang.org/x/tools@v0.0.0-20190422233926-fe54fb35175b: 200 OK (0.017s)
# get https://goproxy.io/sumdb/sum.golang.org/lookup/github.com/google/subcommands@v1.0.1: 200 OK (0.016s)
kratos tool protoc --grpc --bm api.proto
go get -u github.com/go-kratos/kratos/tool/kratos-protoc@v0.5.0
go: found github.com/go-kratos/kratos/tool/kratos-protoc in github.com/go-kratos/kratos v0.5.0
go: github.com/urfave/cli/v2 upgrade => v2.2.0
go: github.com/cpuguy83/go-md2man/v2 upgrade => v2.0.0
protoc: 安装成功!
2020/07/06 10:46:58 go get -u github.com/go-kratos/kratos/tool/protobuf/protoc-gen-bm
go: github.com/pkg/errors upgrade => v0.9.1
go: github.com/golang/protobuf upgrade => v1.4.2
go: google.golang.org/genproto upgrade => v0.0.0-20200702021140-07506425bd67
go: downloading google.golang.org/genproto v0.0.0-20200702021140-07506425bd67
go: google.golang.org/protobuf upgrade => v1.25.0
2020/07/06 10:47:03 protoc --proto_path=/Users/hys/go/src --proto_path=/Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/third_party --proto_path=/Users/hys/gomod/demo/kratos/kratos_7/api --bm_out=:. api.proto
2020/07/06 10:47:03 go get -u github.com/gogo/protobuf/protoc-gen-gofast
go: found github.com/gogo/protobuf/protoc-gen-gofast in github.com/gogo/protobuf v1.3.1
2020/07/06 10:47:06 protoc --proto_path=/Users/hys/go/src --proto_path=/Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/third_party --proto_path=/Users/hys/gomod/demo/kratos/kratos_7/api --gofast_out=plugins=grpc:. api.proto
2020/07/06 10:47:06 generate api.proto success.
kratos tool genbts
go get -u github.com/go-kratos/kratos/tool/kratos-gen-bts@v0.5.0
go: found github.com/go-kratos/kratos/tool/kratos-gen-bts in github.com/go-kratos/kratos v0.5.0
genbts: 安装成功!
Close: 无声明 忽略此方法
Ping: 无声明 忽略此方法
dao.bts.go: 生成成功
kratos tool genmc
go get -u github.com/go-kratos/kratos/tool/kratos-gen-mc@v0.5.0
go: found github.com/go-kratos/kratos/tool/kratos-gen-mc in github.com/go-kratos/kratos v0.5.0
genmc: 安装成功!
mc.cache.go: 生成成功
kratos tool wire
wire: github.com/go-kratos/kratos/kratos_7/internal/di: wrote /Users/hys/gomod/demo/kratos/kratos_7/internal/di/wire_gen.go
kratos tool wire
wire: github.com/go-kratos/kratos/kratos_7/internal/dao: wrote /Users/hys/gomod/demo/kratos/kratos_7/internal/dao/wire_gen.go
Project: kratos_7
OnlyGRPC: false
OnlyHTTP: false
Directory: /Users/hys/gomod/demo/kratos/kratos_7

项目创建成功.

启动项目

第一次启动先要运行 go mod tidy

  • 方法一
1
2
3
4
5
6
7
8
9
10
11
~/gomod/demo/kratos_7 ⌚ 10:54:22
$ pwd
/Users/hys/gomod/demo/kratos_7

~/gomod/demo/kratos_7 ⌚ 10:54:25
$ go run ./cmd -conf ./configs
INFO 07/06-10:54:28.621 /Users/hys/gomod/demo/kratos_7/cmd/main.go:19 kratos_7 start
2020/07/06 10:54:28 start watch filepath: ./configs
INFO 07/06-10:54:28.622 /Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/pkg/net/http/blademaster/server.go:97 blademaster: start http listen addr: [::]:8888
[warden] config is Deprecated, argument will be ignored. please use -grpc flag or GRPC env to configure warden server.
INFO 07/06-10:54:28.622 /Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/pkg/net/rpc/warden/server.go:329 warden: start grpc listen addr: [::]:9888
  • 方法二
1
2
3
4
5
6
7
8
9
10
11
~/gomod/demo/kratos_7 ⌚ 10:55:28
$ pwd
/Users/hys/gomod/demo/kratos_7

~/gomod/demo/kratos_7 ⌚ 10:55:31
$ kratos run
INFO 07/06-10:55:37.128 /Users/hys/gomod/demo/kratos_7/cmd/main.go:19 kratos_7 start
2020/07/06 10:55:37 start watch filepath: /Users/hys/gomod/demo/kratos_7/configs
INFO 07/06-10:55:37.130 /Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/pkg/net/http/blademaster/server.go:97 blademaster: start http listen addr: [::]:8888
[warden] config is Deprecated, argument will be ignored. please use -grpc flag or GRPC env to configure warden server.
INFO 07/06-10:55:37.130 /Users/hys/go/pkg/mod/github.com/go-kratos/kratos@v0.5.1-0.20200526160825-521d240568d0/pkg/net/rpc/warden/server.go:329 warden: start grpc listen addr: [::]:9888

测试访问

  • 方法一

    在浏览器输入 http://127.0.0.1:8888/kratos_7/start

  • 方法二
1
2
3
~/gomod/demo/kratos_7 ⌚ 10:58:58
$ curl http://127.0.0.1:8888/kratos_7/start
{"code":0,"message":"0","ttl":1,"data":{"Hello":"Golang 大法好 !!!"}}%

如果看见 Golang 大法好 则 创建 OK

This post is licensed under CC BY 4.0 by the author.