go-zero is a web and rpc framework with many built-in engineering best practices.
builtin service discovery, load balancing
builtin concurrency control
adaptive circuit breaker
adaptive load shedding
auto trigger, auto recover
chained timeout control
auto management of data caching
call tracing, metrics and monitoring
high concurrency protectedg
middlewares are supported, easy to extend
failure-oriented programming, resilience design
fully compatible with net/http
powerful tool included, less code to write
plenty of builtin microservice management and concurrent toolkits
go-zero includes a minimalist API definition and generation tool goctl, which can generate Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript code according to the defined api file with one click, and run it directly.
$ goctl --helpNAME:goctl - a cli tool to generate codeUSAGE:goctl [global options] command [command options] [arguments...]VERSION:1.3.5 darwin/amd64COMMANDS:bug report a bugupgrade upgrade goctl to latest versionenv check or edit goctl environmentmigrate migrate from tal-tech to zeromicroapi generate api related filesdocker generate Dockerfilekube generate kubernetes filesrpc generate rpc codemodel generate model codetemplate template operationcompletion generation completion script, it only works for unix-like OShelp, h Shows a list of commands or help for one commandGLOBAL OPTIONS:--help, -h show help--version, -v print the version