返回首页
Architecture 2024/01/15

为什么我选择从 Rust 回退到 Go?

在重构核心支付系统的过程中,我们从 Rust 切换回 Go 的真实决策路径。

作为基础设施团队,我们一度尝试用 Rust 获得更高的性能和安全性。但在高频迭代的业务节奏下,现实问题比语言特性更重要。

1. 研发效率的权衡

Rust 的借用检查器确实能保证安全,但团队心智负担过高,试错成本明显上升。对业务迭代来说,这意味着交付周期被拉长。

func main() {
  // 简单的并发模型更适合分布式系统
  go handleRequest()
}

2. 团队协作与招聘

相比 Rust,Go 的学习成本更低,团队在招人、上手、协作方面更顺滑。对长期维护来说,这一点很关键。

3. 生态与运行时

很多工程化能力已经由 Go 生态覆盖:监控、Tracing、调度组件几乎都是开箱即用。对复杂系统来说,生态成熟度直接影响生产效率。

4. 结论

Rust 不是问题,问题是项目的阶段和节奏。最终选择 Go,是为了让系统更快进入可验证的稳定轨道。