go 的内存优势在部分场景比想象中多

84 天前
 momowei

不是吵架帖子,但经常看 go 和 java 比较的时候,经常有人说,go 节省点的内存跟程序员相比根本不值得一提,我越想越觉得不对劲,对于最常规的 crud 来说,不得不说 java 确实比 go 还是要一些的,不过事实是 java 或者 php 程序员转 go 其实狠快根本没那么难,而且现在环境下程序员不一定就很贵了。

go 和 java 我自己都在写,一般来说对于不差钱的国企和政府以及企业市场,java 确实是最适合的,但是我也自己做一些小产品和项目给一些小公司,我能感觉到 java 和 go 对你拿单的成本影响是很大的,比如我有一个订票(城际定制商务车业务)小程序,有时候是我自己提供云服务器,我不得不说物理机的内存确实狠便宜,可是云服务器的内存真的很贵,新用户还不明显,老用户续费狠明显,在一台 2 核 4g 的云服务器上,我一般自建数据库和 redis,然后再配合 go 的应用,因为可能面对好几个客户,会有一些自定义需求,所以部署个五六个是狠轻松的,因为每个应用的访问量并不大,但如果是 java 是很难这样子搞得,这样给了自己很大得利润空间以及拿单成本。

说了这么多,我只能说 go 其实更适合个人开发者和成本敏感型得小团队,因为一般这样团队,都自己写程序,最大得成本就是云服务得开支了,最后再说一句云服务器得内存,cpu,宽带真得很贵,动不动类似 spring 全家桶那样得架构真得狠费机器。

14487 次点击
所在节点    Go 编程语言
148 条回复
Mystery0
83 天前
godspeedyou
83 天前
pocketbase 了解下,完美发挥了 go 的轻量和零依赖特点,用来写个人项目和私活太爽了
spritecn
83 天前
python 学习来比 go 快,还能蹭 AI,不也挺好
min
83 天前
大厂肯定在意啊,省零点一个百分点内存占用,换成钱得不老少了。
one-man shop 其实到无所谓。
yyttrr
83 天前
java 服务部署的节点 cpu 内存比例要 1:4 甚至 1:8 特殊服务要 1:16 ,go 的用 1:2 都有大把空闲,有时候为了降本得找 go 研发要求他们多用些内存,或者在 go 服务的机器上部署些 redis 吃内存
qloog
83 天前
@hefish 我用: https://github.com/go-eagle/eagle 其实选个合适自己的就好
Narcissu5
83 天前
所有带内存管理的语言都面临一个问题:多用 CPU 还是多用内存,Go 也是如此。Java 也可以把内存调低,也就是更频繁的回收占用更多 CPU 而已。对于极端内存敏感的场景,可以试试 graalvm native 便衣
Immortal
83 天前
@Mystery0 #20
想问下这个跑 k3s 服务器的配置?
还有 k3s 好使么? 我在观察 k3s 和 k0s 的选型,单机跑
souths
83 天前
开发需要生态,看的从来不是语言。
java 别的不说,有 spring 系在,加上语言的强制约束,新手只要按部就班的工作能写 crud 。
未来我更看好 rust
INCerry
83 天前
如果既想要超越 java 的开发效率,又想要高性能,还想要低内存占用,为何不试试神奇的 C# + .NET9 + DATAsGC 呢?
wssy001
83 天前
Golang:C 的网络语法糖 拿 Go 写 CRUD 你不觉得累吗(和 Java 比)
wow0o
83 天前
go 可以直接拿到近似 c++的运行和内存性能, 还不用去突破 c++的学习门槛.
sam384sp4
83 天前
内存问题 spring 要背大锅, 当然 java 也要背一部分。
我这边一个项目,包含上千终端的 websocket ,以及消息队列轮询(数据就存在应用内存中)用 vertx 1 核 1g 绰绰有余
guanzhangzhang
83 天前
@happy32199 我司信创就是好多客户,见我 github ,amd64 ,arm64 ,loong64 ,mips64el 啥的架构都有,go 自带交叉编译,没看到有客户要求语言栈的,达梦,人大金仓之类的都有 cgo 或者 go 的 client 库的
GooMS
83 天前
真省成本还得是 php, 毕竟大部分人的应用根本不会有人用,不用的时候 0 内存,才是最省的
Mystery0
83 天前
@Immortal 我组的高可用集群
Immortal
83 天前
@Mystery0 #76
那 k3s 和 k8s 选型是怎么考虑的?
Mystery0
83 天前
@Immortal 第一次用 k3s 的时候,我的活动机都开的是 1c2g ,跑个 k8s 的话就别想跑服务上去了,所以就整了 k3s ,后面受不了机器性能太低,就渐渐的开成 2c4g 的配置了
Mystery0
83 天前
@Immortal 还有一个是组网是用的 tailscale 来跨云联通,这块 k3s 有很多资料(直说了就是米开朗琪杨推的🤣)
Immortal
83 天前
@Mystery0 #79
谢谢解答🙏
第一点我猜到了,第二点是我没听说过的

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

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

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

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

© 2021 V2EX