1

优点

  • 啥都有,类似 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,各位大神当我是小白。


Airy
2.4k 声望69 粉丝

github.com/airylinus