RustCon Asia 实录 | Rust 诞生于一家视频网站
2023-10-08 23:40:30
我们今天要分享 Rust 的诞生、使用,以及视频网站里两个工具的实现原理以及经验分享。
Rust 项目背景
我们公司是一家在线视频网站,国内市占率非常高,拥有数亿 DAU。我们的研发团队非常庞大,技术栈也比较复杂,需要解决各种各样的问题。
2019 年的时候,我们在寻找一种新的编程语言,替代我们现有的 C++。
我们对比了很多编程语言,最终选择了 Rust。
Rust 是一款安全 、高效 、现代 的编程语言。它具有出色的内存安全性和并发性,而且学习起来也比较容易,非常适合我们公司的情况。
Rust 应用分享
1. 异步 IO 工具库——Willow
Willow 是一个异步 IO 工具库,它可以帮助我们轻松地编写高性能的网络应用。
Willow 是基于 Tokio 编写的,Tokio 是一个非常流行的异步 IO 框架。Willow 封装了 Tokio 的 API,使之更加易于使用。
使用 Willow 可以极大地提高我们开发效率,并且保证代码的正确性。
2. 分布式缓存服务——Aster
Aster 是一个分布式缓存服务,它可以帮助我们提高应用的性能。
Aster 是基于 Redis 编写的,Redis 是一个非常流行的分布式缓存数据库。Aster 封装了 Redis 的 API,并提供了一些额外的特性,例如分布式锁、限流等。
Aster 可以帮助我们解决很多问题,例如数据库负载过高、缓存穿透、缓存雪崩等。
经验分享
1. Rust 的优势
(1)内存安全
Rust 的内存安全对于我们公司来说非常重要,因为我们的应用经常要处理大量的数据,如果出现内存错误,很可能会导致应用崩溃。
Rust 的内存安全特性可以帮助我们避免内存错误,这让我们可以放心大胆地使用 Rust 编写代码。
(2)高性能
Rust 的高性能对于我们公司来说也非常重要,因为我们的应用经常要处理大量的数据,如果性能不够好,很可能会导致应用响应速度变慢。
Rust 的高性能特性可以帮助我们提高应用性能,这让我们可以为用户提供更好的体验。
(3)易于学习
Rust 是一款非常容易学习的编程语言,这对于我们公司来说也非常重要,因为我们希望我们的工程师能够快速地掌握 Rust。
Rust 的学习曲线比较平缓,工程师们可以很快地掌握它的基本语法和特性。
2. Rust 的挑战
(1)生态系统不完善
Rust 的生态系统还不够完善,这对于我们公司来说是一个挑战,因为我们经常需要使用一些第三方的库。
不过,Rust 的生态系统正在快速发展,相信很快就会变得更加完善。
(2)编译速度慢
Rust 的编译速度比较慢,这对于我们公司来说也是一个挑战,因为我们经常需要对代码进行修改。
不过,Rust 的编译速度正在不断提高,相信很快就会变得更快。
总结
Rust 是一款非常优秀的编程语言,它非常适合我们公司的情况。
我们对 Rust 非常满意,我们相信 Rust 将会有一个光明的未来。