- 错误提示
- rpc和api通过使用code包方便传递给调用方错误信息
- 支持中间件,方便扩展
- 内建服务发现、负载均衡(基于grpc和etcd那一套)
- 内建限流、熔断、降载,且自动触发,自动恢复
- RestFul 通过内置的中间件已经实现。
- GRPC 通过内置的Interceptor的已经实现。
- API 参数自动校验
- 在api文件和proto文件添加tag自动校验
- 超时级联控制 context 传递?
- 数据库缓存代码自动化生成,自动缓存控制
# 内置工具通过sql文件自动化生成,也可以通过数据库表生成 # 带redis缓存版本,操作MySQL版本 goctl model mysql ddl -c -src user.sql -dir ./model # 不带redis缓存版本,只操作MySQL版本 goctl model mysql ddl -src user.sql -dir ./model
- 链路跟踪
- 服务监控
服务监控目前没有支持服务对redis和mysql的调用监控。
- promethus部署
- 日志收集
- 高并发支撑,高并发
# 运行rpc服务
cd rpc
make run
# 运行rest服务
cd api
make run
curl -v -X POST "http://localhost:8888/v1/user" \
-H "accept: application/json" -H "Content-Type: application/json" -d "{ \"password\": \"123456\", \"username\": \"frank\"}"
curl -v "http://localhost:8888/v1/user/4"
./wrktest.sh