对各章节重点内容进行汇总,便于查找。
其他:
8. go-zero学习 Mikaelemmmm的视频讲解整理
9. go-zero社区群有效信息整理【暂未开放】
10. Go Redis:https://redis.uptrace.dev/zh
11. Golang ClickHouse:https://clickhouse.uptrace.dev
go-zero
的goctl
工具下载go install github.com/zeromicro/go-zero/tools/goctl@latest
goctl
的安装结果:goctl -v
goctl
一键安装 protoc
、protoc-gen-go
、protoc-gen-go-grpc
goctl env check --install --verbose --force
go-zero
快速生成API
服务goctl api new greet
api
文件格式化goctl api format --dir xxx.api
go-zero
快速生成RPC
服务goctl rpc new demo
api
文件生成API
服务命令api
语法POST
请求、GET
请求path
参数、form
参数、json
参数api
分组go-zero
生成代码的模板api
生成api
服务命令go-zero-api\api> goctl api go -api ./doc/ucenter.api -dir ./code
API
服务调用RPC
服务JWT
鉴权etcd/IP
直连)API
服务与RPC
服务之间文件传输RPC
分组grpc
服务端接收请求体大小限制grpc
客户端接收响应体大小限制API
和RPC
服务拦截器metadata
代替context
传值RPC
服务如何独立调试goctl
使用api
文件生成api服务
命令:\go-zero-micro\api> goctl api go -api ./doc/all.api -dir ./code/ucenterapi
goctl
使用protoc
文件生成rpc服务
命令:goctl rpc protoc ./proto/ucenter.proto --go_out=./code/ucenter --go-grpc_out=./code/ucenter --zrpc_out=./code/ucenter --multiple
注意:--go_out
、--go-grpc_out
、--zrpc_out
三者配置的路径需要完全一致,否则会报下列错误。
the output of pb.go and _grpc.pb.go must not be the same with --zrpc_out
sqlx
代码文件讲解RPC
服务使用sqlx
步骤sqlx
使用事务sqlx
代码sqlc
及缓存的使用sqlc
执行源码分析与model
详解go-zero
使用gorm
go-zero
使用Redis
生成sqlx
代码命令:
注意:最后的参数-style=go_zero
是指定生成文件名称的格式,这里是蛇形命名,不喜欢的可以去除这个参数。
sql 文件
生成sqlx
代码的命令:【推荐】单表:
goctl model mysql ddl -src="./rpc/database/sql/user/zero_users.sql" -dir="./rpc/database/sqlx/usermodel" -style=go_zero
多表:
goctl model mysql ddl -src="./rpc/database/sql/user/zero_*.sql" -dir="./rpc/database/sqlx/usermodel" -style=go_zero
-src
:sql
文件目录;
-dir
:sqlx
代码目录;
数据库连接
生成sqlx
代码的命令:goctl model mysql datasource -url="root:root@tcp(127.0.0.1:3357)/go-zero-micro" -table="zero_users" -dir="./rpc/database/sqlx/usermodel"
-url
:数据库连接;
-table
:数据表;
-dir
:sqlx
代码目录;
生成sqlc
代码命令:
同生成sqlx
代码的命令类似,只是后面需要再加一个 -cache
即可。
sql 文件
生成sqlc
代码的命令:【推荐】单表:
goctl model mysql ddl -src="./rpc/database/sql/user/zero_users.sql" -dir="./rpc/database/sqlc/usermodel" -style=go_zero -cache
多表:
goctl model mysql ddl -src="./rpc/database/sql/user/zero_*.sql" -dir="./rpc/database/sqlc/usermodel" -style=go_zero -cache
-src
:sql
文件目录;
-dir
:sqlc
代码目录;
数据库连接
生成sqlc
代码的命令:goctl model mysql datasource -url="root:root@tcp(127.0.0.1:3357)/go-zero-micro" -table="zero_users" -dir="./rpc/database/sqlc/usermodel" -cache
-url
:数据库连接;
-table
:数据表;
-dir
:sqlc
代码目录;
asynq
文档asynq
介绍asynq
具体讲解及示例asynq
亲自实践go-zero
中使用asynq
无
dtm
文档dtm
官方示例go-zero
使用dtm
参考代码dtm
注意事项dtm
详解无