Canva工程团队将CI构建时间从数小时缩短至30分钟以内

2024-12-18

Canva工程团队成功将持续集成(CI)构建时间从平均80分钟缩短至30分钟以内,甚至低至15分钟。他们通过多方面努力实现这一目标,包括识别并解决Bazel缓存问题、优化流水线结构、改进Git仓库检出和缓存,以及利用Bazel远程构建执行(RBE)等。此外,他们还进行了大量实验,例如测试不同实例类型和调整Bazel配置,最终通过一系列增量改进,大幅提升了CI效率,降低了成本,并改善了开发人员体验。

阅读更多
开发 CI优化

Canva打印订单路由系统的科学

2024-12-14

Canva工程团队构建了一个可配置的图遍历规则系统,用于优化打印订单的路由。该系统通过将构建图、遍历图和决策过程解耦,实现了高可用性和可扩展性。它使用关系型数据库管理数据,并异步生成缓存中的图,以便快速查询。通过规则引擎和改进的最小成本流算法,系统能够在毫秒级内找到最佳路由,同时最小化运输距离和碳排放,提升用户体验和运营效率。

阅读更多