(kotlin后端开发)(kotlinweb开发)

可汗学院最近进行了大规模重写,他们用 Go 编写的面向服务的后端替换了旧的 Python 2 单体。

Kevin Dangoor 和 Marta Kosarchyn 是可汗学院的高级工程师,他们写了一系列关于重写的技术选择、执行和结果的博客文章。我们将在下面总结这个系列。

2019 年底,可汗学院正在寻求升级他们的后端。该站点建立在 Python 2 单体架构上,并且运行良好 10 多年。

然而,Python 2 即将在2020 年 1 月 1 日正式结束生命周期,因此可汗学院的工程师决定他们必须进行更新。

可汗学院有几种选择:

  • 从 Python 2 迁移到 Python 3 - 这将使 KA 的后端服务器代码性能和 Python 3 的语言特性提高 10-15%。
  • 从 Python 2 迁移到 Kotlin - KA 开始将 Kotlin用于计算密集型后端任务,因为它比 Python 2 性能更高。从 Python 切换到 Kotlin 可能意味着可汗学院的响应速度更快,服务器成本下降。
  • 从 Python 2 迁移到 Go - Go 是一种简单而简洁的语言,编译时间非常快,对Google App Engine的一流支持以及比 Kotlin 更少的内存使用量(基于 KA 的测试)。

在这些选项中,可汗学院决定采用第三种选择,并使用 Go 重写他们的 Python 2 单体。

他们进行了性能测试,发现 Go 和 Kotlin(在 JVM 上)的性能相似,Kotlin 领先几个百分点。但是,Go 使用的内存要少得多。

Go 和 Python 之间的巨大性能差异使得转换所涉及的努力是值得的。

文中链接在:

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者解道Jdon所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(kotlin后端开发)(kotlinweb开发)
本文链接:https://www.51qsb.cn/article/m8bc3.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2022-12-26
下一篇2022-12-26

你可能还想知道

发表回复

登录后才能评论