新阶段使用 go 开发 web 后台怎么样

2023-06-13 14:20:10 +08:00
 laoyutang

目标是一个工业场景下的上位机软件,采集数据做展示,需要实时采集数据上传到数据库中。设备量挺大,感觉 go 的并发场景更合适。

5865 次点击
所在节点    程序员
39 条回复
yazinnnn
2023-06-13 17:26:21 +08:00
差不多得了, 工厂上位机你整云原生是吧😅😅😅😅😅😅

工业场景云原生有啥好处? 我们一年内销毁了 100 万次容器?😅😅😅😅😅😅
dw2693734d
2023-06-13 17:31:45 +08:00
go 非常好用,好用得一匹
LeegoYih
2023-06-13 17:41:11 +08:00
不应该是团队擅长什么才用什么吗?
thinkershare
2023-06-13 17:44:33 +08:00
工业场景下的上位机常用的语言是 C#, 而且是性能很差的老版本。这个场景下 go 没啥优势,要轮子没有,性能也不怎么样。
di94sh
2023-06-13 18:59:36 +08:00
我来,在压缩 server 开支的时候 go 比 java 有优势。spring cloud 一套 每个 pod 不带几个 G 。go 随便给点资源能跑了。

今年主流不是降本增效吗
xingjue
2023-06-13 19:18:53 +08:00
必须 golang 啊 5 年 go 的忠告
jmllx1963
2023-06-13 19:23:57 +08:00
直接上 goframe 省事的呢
thin0
2023-06-13 19:29:51 +08:00
弱弱的问一句,云原生为什么选 go 呢,有什么特殊的吗,用 java 、c#这些不是也可以容器化吗
Nazz
2023-06-13 19:34:23 +08:00
@thin0 Java AOT 不太行,JIT 的话启动慢资源占用高,C#不了解。
saucerman8
2023-06-13 19:39:25 +08:00
@march1993 wails 了解一下?比什么 qt 简单多了...
cus
2023-06-13 19:44:52 +08:00
Java 的话可以考虑 Vertx ,vertx-mqtt 还不错
gejun123456
2023-06-13 19:53:48 +08:00
java 用 springboot underdow 开发效率快多了
lightjiao
2023-06-14 01:08:22 +08:00
一句话,f@ck golang
fgwmlhdkkkw
2023-06-14 01:44:01 +08:00
可以写,但是运行时太简单,语法糖几乎没有。工作的话,那捏着鼻子也可以写。自己选,肯定不用。
ixiaohei
2023-06-14 09:57:57 +08:00
不知道你这个上位机软件是放到什么环境运行,如果是放到上位机里面,可以从 cpu 、内存和硬盘资源利用对比一下估计有些意义。以前也有过 php 开发的 web 放到上位机里面的经历,对我来说可能如下几点对比有点意思。
1. 上位机内存一般都比较小,java 因为 jvm 原因内存消耗较大,如果使用 spring 生态源那这个消耗更加恐怖。这个 golang 就比较有优势
2. 另外对于硬盘,或者软件安装需要的体积,完整版的 jvm 不算小、更小的体积需要使用模块化自行裁剪;另外对于 web 开发,看基于 servlet 那套搞,还是用 netty 撸;基于 servlet 那套需要使用 servlet 容器,tomcat 这套就比较重和大、jetty 那套比较小,但是方案不是很多。用 netty 撸又太原始,而且异步编程掌握难度比较高
3. java 的部署也是比 golang 复杂,除非使用 spring boot ,或者类似的单体框架,打成一个包直接 java 命令就可以启动会比较方便。golang 是直接编成 native exec 程序,而且无任何依赖(有些版本依赖 glibc ),丢进上位机就可以运行了。
4. 对于网络这块、golang 和 java 都擅长网络开发。但是对于网络高并发这块,还是 golang 比较有优势,java 可能要使用 netty 这种事件驱动编程吞吐率才好; golang 是天生支持高并发,底层是协程+epoll 实现,对于开发来说还是同步编程,比较易溶理解和掌握。
5. 另外对于生态:java 这块确实是最好的,但是还是要看应用场景、有些场景 golang 都有可替代的解决方案。
jitongxi
2023-06-14 10:29:53 +08:00
我是从 16 年开始用 go 的,当时是要做点跨平台而且是关于网络开发的东西,就用了 go ,当时上海也都没几个岗位
后来岗位渐渐多了。
如果是 web 场景,还是首推 jvm 系无论 java 还是 kotlin ,中后期的开发和维护成本还是 jvm 系比较丝滑。
云原生也不是 go 独有的,其他语言都可以入,只不过 go 编译出来的文件比较小。
go 现在有很多拍簧片转入的,拍簧片的分水岭比较大,招人自己注意就行。
laoyutang
2023-06-14 10:58:15 +08:00
@jitongxi 拍簧片什么鬼😅
uut8
2023-06-14 17:12:11 +08:00
@laoyutang PHP 吧 :)
happy321
2023-06-15 08:04:05 +08:00
webman 试试 性能已经超过 go java 了

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

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

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

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

© 2021 V2EX