我这边是用的GRPC混合Golang和Java的微服务,可以选择的服务治理方案,其实基本就等于Golang的服务治理方案,可以选择的传统服务治理方案有:Nacos、Consul、Zookeeper。

但很明显,这些东西跟Spring Cloud整个生态比起来,还是有差距的。比如Nacos只是Spring Cloud Alibaba生态的其中一环。所以我这边服务治理直接用的K8s+Istio,服务治理方面算是比Spring Cloud更好,缺点是学习成本过高,如果是本地环境,服务器的成本也更高,云环境成本就比较低了。

Golang做微服务,目前有一个最不成熟的环节,就是分布式事务,在Java端,可以使用Seata,虽然Golang有golang-seata这个个人开源项目,但目前还不完善,只支持Mysql。

最后Golang微服务给我的感觉是,现在还没有类似Spring Cloud这种一套完整的解决方案,有些轮子,还要自己造