为什么许多原本的Java项目都试图用go进行重写开源?

2022-09-10
470 阅读

个人觉得应该是三个主要原因吧。

一. 体积可以明显缩小,部署更简单因为容器服务越来越主流,这到不是说Java不能在云原生环境使用,现在云原生里的微服务模式,主流编程语言还是Java,只是,依赖于JDK平台确实让容器镜像体积大了很多!大部分情况下,微服务本身jar的体积(包括各种依赖的flat jar)也与JDK本身的体积相差无几(甚至不及)。

在多个服务情况下,拉取镜像的成本就高很多,虽然分层存储可以有效降低存储容量,但这也依赖所有微服务需要相同的镜像基座(部署好JDK),对于不同厂商的微应用(服务)情况不一定乐观。

Golang在这部分表现好很多,虽然打包后的Binary也不小(相比于C),但它包含运行时支持及静态链接,非常独立(单体程序易于部署),体积相比Java的服务,总体要小很多。

二. 开发难度不大后端应用服务最重要的是稳定,Java之所以能长时间占据后端开发市场份额,也是因为其异常及GC机制能够平衡好程序开发难度和程序质量这两个矛盾体。

而Golang也引入了GC,开发难度也不高(并不比Java难),不需要特别优秀的能力也能写出健壮的后端应用。

三. 语言发展的必然结果现在越来越多的人开始使用Golang写后端应用。

分享至:
小草

小草

专注人工智能、前沿科技领域报道,致力于为读者带来最新、最深度的科技资讯。

评论 (0)

当前用户头像