java与Golang部署运行对比

翻到以前使用springboot写的星座类小程序,突发奇想使用go重写逻辑进行对比实践一下,验证两种编程语言实际场景中的差异性。
目前已经将小程序的接口切换为go语言的服务,java服务后续将只处理管理端和小程序所需第三方数据的获取。
下方是小程序码,有兴趣可以看看。

在这里插入图片描述在这里插入图片描述

技术准备

单台2C2G云服务器
docker v19 部署
java使用springboot框架
golang的gin框架
redis 6.2.6
mysql 5.7

对比数据

star-test是go服务 占用不足10M
cons-server-07-21 是java服务,占用300+M
在这里插入图片描述

小结

相同的业务逻辑,更高的并发性能,却只需要1/30的内存。小公司或许感受不到震撼,但是大型C端系统需要超高并发和异地多活的架构系统都是需要几十、上百的服务支撑,如此下来节省的服务器成本都是惊人的费用。
虽然java也是编译型语言,但却依赖jvm解释运行,并非像go一样编译后直接在系统上运行,没有想到运行所用内存相差巨大。
因为go的协程,系统性能自然不需要怀疑,后续再进行压测验证。

猜你喜欢

转载自blog.csdn.net/weixin_39830312/article/details/132496671