你是否也曾抱着这样的印象:用一门以高性能著称的语言写代码,运行速度绝对快,但开发效率跟不上,学习曲线陡峭得让成本放大五倍甚至更多?Momento团队起初也这么想,但三年来的实际经验表明,这两个预判并不完全准确。
作出这番分享的是Momento的软件工程师Ruth Linehan。她过去两年专注于使用该语言进行高性能缓存开发,拥有十五年基础设施领域的后端经验,先后在GitHub负责相关接口与Webhook投递,再早则在Puppet投身基础设施即代码的工作。她特别提到,自己是一名多语言开发者,用过Ruby、Clojure、Golang、Kotlin,如今又加入Rust,但既没有C或C++的背景,也不以Rust专家自居。在她看来,虽然真心喜欢这门语言,但远称不上专家。
Momento做的是高性能缓存服务,团队每天都会运行性能测试。常规基准是每秒处理约六万次事务,在较大实例上,99.9%的请求延迟控制在三毫秒以内。作为一家追求资源利用率的创业公司,他们还会继续推高实例上限,尝试跑到每秒六十万次事务甚至更高。起初,服务全部用Kotlin构建。后来逐步将所有服务迁到了Rust。最先动刀的是对性能最敏感的部分,驱动力就是性能。而到了过去一年,他们把最复杂的那个服务——一个工作流服务器——也搬了过来。表面看这与系统编程无关,也不算性能敏感,但选择Rust的理由很实在:其他服务早已用它重写,团队对语言已十分熟悉;更重要的是,面对复杂逻辑,Rust能表达得更清晰,让人更有确定感。这种良好的开发体验,才是促使他们做出选择的关键。
不过Linehan也明确表态,她绝不是在说大家应该一股脑儿把现有代码重写成Rust。如果已经有其他理由需要重写某个服务,或者手头有一个全新的工程,那倒是可以考虑这门语言。接下来,她将目光投向了开发者反馈闭环——从修改代码的那一刻起,你需要多长时间才能验证自己所做的工作是否正确?反馈越迅速,开发者的效率就越高。
热门跟贴