系列文章目录
第一章 go-zero基本介绍与安装
文章目录
- 一、基本介绍
- 1.1 参考
- 1.2 什么是微服务
- 1.3 什么是go-zero
- 1.4 为什么选择go-zero
- 1.5 go-zero的整体架构
- 1.6 go-zero的特点
- 二、安装
- 2.1 go-zero需要安装的组件
- 2.2 安装 protoc 及代码生成插件
- 2.3 安装用于生成 go 和 grpc 相关的工具
- 2.4 安装goctl基于Go语言的命令行工具
- 2.5 安装go-zero
- 2.6 测试查看
一、基本介绍
1.1 参考
官方文档:https://go-zero.dev/
1.2 什么是微服务
单一的模块无法再支撑大量的用户请求,如果一个功能挂了很可能导致整个项目奔溃,所以要将一个项目按照不同的功能分成多个模块进行部署,每个模块之间低耦合,每个模块通过RPC进行内部通讯
1.3 什么是go-zero
go-zero 是一个集成了各种工程实践的 web 和 rpc 的微服务框架。包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go代码,并可直接运行。
1.4 为什么选择go-zero
- 轻松获得支撑千万日活服务的稳定性
- 内建级联超时控制、限流、自适应熔断、自适应降载等微服务治理能力,无需配置和额外代码
- 微服务治理中间件可无缝集成到其它现有框架使用
- 极简的 API 描述,一键生成各端代码
- 自动校验客户端请求参数合法性
- 大量微服务治理和并发工具包
1.5 go-zero的整体架构
1.6 go-zero的特点
- 强大的工具支持,尽可能少的代码编写
- 极简的接口
- 完全兼容 net/http
- 支持中间件,方便扩展
- 高性能
- 面向故障编程,弹性设计
- 内建服务发现、负载均衡
- 内建限流、熔断、降载,且自动触发,自动恢复
- API 参数自动校验
- 超时级联控制
- 自动缓存控制
- 链路跟踪、统计报警等
- 高并发支撑
二、安装
本文仅介绍mac版本安装,windows的很多教程,自行查找。
2.1 go-zero需要安装的组件
学习go-zero,go环境是必备的,还需要如下4个组件
- protoc
- protoc-gen-go
- protoc-gen-go-grpc
- goctl
2.2 安装 protoc 及代码生成插件
通过brew工具安装
brew install protobuf
查看版本
protoc --version
2.3 安装用于生成 go 和 grpc 相关的工具
各个语言的代码生成工具,对于 Golang 来说,称为 protoc-gen-go
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
export PATH=$PATH:$GOPATH/bin
2.4 安装goctl基于Go语言的命令行工具
用于快速生成和管理Go项目的代码
go install github.com/zeromicro/go-zero/tools/goctl@latest
2.5 安装go-zero
go get -u github.com/zeromicro/go-zero@latest
2.6 测试查看
go version
protoc --version
protoc-gen-go --version
goctl --version
完成ヾ(◍°∇°◍)ノ゙