go-zero是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。
go-zero包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。
使用 go-zero 的好处:
轻松获得支撑千万日活服务的稳定性
内建级联超时控制、限流、自适应熔断、自适应降载等微服务治理能力,无需配置和额外代码
微服务治理中间件可无缝集成到其它现有框架使用
极简的 API 描述,一键生成各端代码
自动校验客户端请求参数合法性
大量微服务治理和并发工具包
本次更新内容包括:
框架:
rest 支持 TLS
zrpc 支持 TLS
Redis 连接支持 TLS
etcd 支持用户名/密码认证
rest 支持 CORS(跨域)
rest 支持路由组的前缀设置,也支持通过 .api 文件指定前缀
rest 支持对特定路由的单独超时设置
zrpc 支持非阻塞依赖性检查模式,默认为阻塞模式
redis、sqlx、mongo、rest、zrpc中可以设置慢请求的阈值
错误修复和改进
goctl:
支持在 .api 文件中指定路由前缀
支持多版本模板
优化空主体请求的语法
修复了 gRPC 客户端包生成的问题
goctl 失败时返回非零状态码
错误修复和改进