优点
- 啥都有,类似 PHP 的各种框架。
- 开箱即用,给你整上各种现代化的工具,甭管用不用,需要不需要全整齐。依赖注入、http、gRPC、MySQL、Redis 都“搞里头“。
问题
- 结构混乱。proto 文件散到各个目录,甚至 proto 的版本都没管理好。
- 依赖注入纯粹是为了用而用,没有用依赖注入解决任何实际问题,也没做到代码抽象和隔离。
- 对微服务的理解有问题。微服务的核心问题是服务发现、服务注册,官方 demo 居然没有这个模块。文档中的 registry 实现也丑到不行。
不知道作者想解决的核心问题是什么?
- proto 的自动管理问题?第三方包的语义版本化问题显然没想清楚。而且居然丑陋到每个项目都要复制一份 google 的 proto 文件。
- 内部调用的 rpc / http 灵活切换?直接用 grpc-gateway 就可以了,自己封装一层也很容易。
- 依赖注入?先想清楚为什么要依赖注入,想解决什么问题?
- 微服务?先想清楚为什么要做微服务?是不是用上了 grpc 就是微服务了?
- Go 项目开发的脚手架?你提供了哪些脚手架的功能?跟 django 比、ruby on rails 比有啥特色?
- 云原生?服务网格?就完全不沾边了。
代码细节
- demo 项目 main.go 文件中的变量名:
flagconf
看着 idea 的绿线。好尬!
结论
四不像的东西,不知所谓。纯属 YY,各位大神当我是小白。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。