|
|
|
@ -28,7 +28,7 @@ go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的
|
|
|
|
|
* 自动校验客户端请求参数合法性
|
|
|
|
|
* 大量微服务治理和并发工具包
|
|
|
|
|
|
|
|
|
|
![架构图](https://raw.githubusercontent.com/tal-tech/zero-doc/main/doc/images/architecture.png)
|
|
|
|
|
![架构图](https://raw.githubusercontent.com/zeromicro/zero-doc/main/doc/images/architecture.png)
|
|
|
|
|
|
|
|
|
|
## 1. go-zero 框架背景
|
|
|
|
|
|
|
|
|
@ -78,7 +78,7 @@ go-zero 是一个集成了各种工程实践的包含 web 和 rpc 框架,有
|
|
|
|
|
|
|
|
|
|
如下图,我们从多个层面保障了整体服务的高可用:
|
|
|
|
|
|
|
|
|
|
![弹性设计](https://raw.githubusercontent.com/tal-tech/zero-doc/main/doc/images/resilience.jpg)
|
|
|
|
|
![弹性设计](https://raw.githubusercontent.com/zeromicro/zero-doc/main/doc/images/resilience.jpg)
|
|
|
|
|
|
|
|
|
|
觉得不错的话,别忘 **star** 👏
|
|
|
|
|
|
|
|
|
@ -94,9 +94,9 @@ GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/
|
|
|
|
|
|
|
|
|
|
0. 完整示例请查看
|
|
|
|
|
|
|
|
|
|
[快速构建高并发微服务](https://github.com/tal-tech/zero-doc/blob/main/doc/shorturl.md)
|
|
|
|
|
[快速构建高并发微服务](https://github.com/zeromicro/zero-doc/blob/main/doc/shorturl.md)
|
|
|
|
|
|
|
|
|
|
[快速构建高并发微服务 - 多 RPC 版](https://github.com/tal-tech/zero-doc/blob/main/docs/zero/bookstore.md)
|
|
|
|
|
[快速构建高并发微服务 - 多 RPC 版](https://github.com/zeromicro/zero-doc/blob/main/docs/zero/bookstore.md)
|
|
|
|
|
|
|
|
|
|
1. 安装 goctl 工具
|
|
|
|
|
|
|
|
|
@ -141,7 +141,7 @@ GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/
|
|
|
|
|
|
|
|
|
|
编写业务代码:
|
|
|
|
|
|
|
|
|
|
* api 文件定义了服务对外 HTTP 接口,可参考 [api 规范](https://github.com/tal-tech/zero-doc/blob/main/doc/goctl.md)
|
|
|
|
|
* api 文件定义了服务对外 HTTP 接口,可参考 [api 规范](https://github.com/zeromicro/zero-doc/blob/main/doc/goctl.md)
|
|
|
|
|
* 可以在 `servicecontext.go` 里面传递依赖给 logic,比如 mysql, redis 等
|
|
|
|
|
* 在 api 定义的 `get/post/put/delete` 等请求对应的 logic 里增加业务处理逻辑
|
|
|
|
|
|
|
|
|
@ -155,7 +155,7 @@ GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/
|
|
|
|
|
|
|
|
|
|
## 6. Benchmark
|
|
|
|
|
|
|
|
|
|
![benchmark](https://raw.githubusercontent.com/tal-tech/zero-doc/main/doc/images/benchmark.png)
|
|
|
|
|
![benchmark](https://raw.githubusercontent.com/zeromicro/zero-doc/main/doc/images/benchmark.png)
|
|
|
|
|
|
|
|
|
|
[测试代码见这里](https://github.com/smallnest/go-web-framework-benchmark)
|
|
|
|
|
|
|
|
|
@ -167,9 +167,9 @@ GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go get -u github.com/tal-tech/
|
|
|
|
|
|
|
|
|
|
* awesome 系列(更多文章见『微服务实践』公众号)
|
|
|
|
|
|
|
|
|
|
* [快速构建高并发微服务](https://github.com/tal-tech/zero-doc/blob/main/doc/shorturl.md)
|
|
|
|
|
* [快速构建高并发微服务 - 多 RPC 版](https://github.com/tal-tech/zero-doc/blob/main/docs/zero/bookstore.md)
|
|
|
|
|
* [goctl 使用帮助](https://github.com/tal-tech/zero-doc/blob/main/doc/goctl.md)
|
|
|
|
|
* [快速构建高并发微服务](https://github.com/zeromicro/zero-doc/blob/main/doc/shorturl.md)
|
|
|
|
|
* [快速构建高并发微服务 - 多 RPC 版](https://github.com/zeromicro/zero-doc/blob/main/docs/zero/bookstore.md)
|
|
|
|
|
* [goctl 使用帮助](https://github.com/zeromicro/zero-doc/blob/main/doc/goctl.md)
|
|
|
|
|
* [Examples](https://github.com/zeromicro/zero-examples)
|
|
|
|
|
|
|
|
|
|
* 精选 `goctl` 插件
|
|
|
|
@ -233,7 +233,7 @@ go-zero 已被许多公司用于生产部署,接入场景如在线教育、电
|
|
|
|
|
|
|
|
|
|
`go-zero` 相关文章和视频都会在 `微服务实践` 公众号整理呈现,欢迎扫码关注 👏
|
|
|
|
|
|
|
|
|
|
<img src="https://raw.githubusercontent.com/tal-tech/zero-doc/main/doc/images/wechat-micro.jpg" alt="wechat" width="300" />
|
|
|
|
|
<img src="https://raw.githubusercontent.com/zeromicro/zero-doc/main/doc/images/wechat-micro.jpg" alt="wechat" width="300" />
|
|
|
|
|
|
|
|
|
|
## 10. 微信交流群
|
|
|
|
|
|
|
|
|
@ -245,4 +245,4 @@ go-zero 已被许多公司用于生产部署,接入场景如在线教育、电
|
|
|
|
|
|
|
|
|
|
加群之前有劳点一下 ***star***,一个小小的 ***star*** 是作者们回答海量问题的动力!🤝
|
|
|
|
|
|
|
|
|
|
<img src="https://raw.githubusercontent.com/tal-tech/zero-doc/main/doc/images/wechat.jpg" alt="wechat" width="300" />
|
|
|
|
|
<img src="https://raw.githubusercontent.com/zeromicro/zero-doc/main/doc/images/wechat.jpg" alt="wechat" width="300" />
|
|
|
|
|