Go 语言选手学写 Java SpringCloud 一周的体会

326 天前
 Nitroethane

我组目前的技术栈是 Go + Python + C++,人数在十人以下。本人只在上大学时学过一段时间 Java 和 SpringBoot (不超过一个月)。
因为业务需要,需要把老项目中的一个功能独立出来做成微服务。老项目是用 Python 2 写的屎山,没有微服务一说。
这个功能很简单,目前主要有以下几点:

因为涉及到微服务,就想到 SpringCloud 挺有名的,花了一天时间了解了下。然后觉得不错,用了三天实现了第一个需求。用 SpringCloud 的感觉真爽,比如第一个功能,只需要写一个类,就把客户端发来的数据处理后写到 Kafka 里;再写一个类实现 gRPC server ,通过 Spring 的依赖注入把前面的数据处理类注入到 gRPC server 中,就完事了。如果用 Go 写,操作 Kafka 得写一大坨,实现 gRPC Server 得写一大坨,读取配置文件得写一大坨。不仅写起来繁琐,而且还要考虑使用的三方库有没有问题,是否经常维护。
当然不可否认的是后续会踩到一些坑。

但是今天下午老板告诉我说 Java 不符合当前技术栈,还是用 Go 写比较好。虽然大概率得用 Go 重写,但下周我还是想再争取一下。

另外求各位 V 友推荐下 Go 语言中是否有类似 SpringCloud 这种比较全能的微服务框架,如果老板不同意的话得用 Go 重写了。

请不要评论「老板说什么就是什么」、「折腾这么多干嘛」之类,因为我组不存在这些问题。

2685 次点击
所在节点    程序员
23 条回复
gyt95
321 天前
不是都说 Go 大道至简吗?想起我们公司后端用 Go ,他们都还挺看不起 Java 那一套的
Nitroethane
320 天前
@gyt95 是大道至简,简得什么东西全都得自己从头写,写烦了😅

@acctv2 非常同意

@hzzhzzdogee 是的,没办法了,只能用 Go 写了😠
voidmnwzp
315 天前
1.Java 基本上==Spring ,至少在目前的工业体系上是的,也就是说 Java 基本只能干 web 的活,要用 nio 还要学复杂的 netty ,go 直接一个 net 库搞定,而且还能做网络编程写写 proxy 、tunnel 很方便
2.你说的注解方便那都是靠 spring 和 Java 强大的反射功劳,但代价是 runtime 必须靠 jvm ,无法像 go 一样编译一个二进制文件丢到服务器上就能跑,而且越写越多 maven 也会让你抓狂,只能说 spring 是 Java 的大救星,要不你看看 Javaee 的 servlet 那真是鬼见愁,我保证如果你用原生 servlet 去写,那你一定会无比想念 go 的时光,可以对标下 net/http

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960664

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX