马刺超级球迷陈雨琪

RustCon Asia 讲师第十期介绍

热爱游戏、篮球和剑道

陈雨琪 RobotXY,之前在西安的 Samsung 研究所,于三年前来到杭州,入职阿里妈妈。作为一名朴实的程序员,爱好也特别简单:游戏和篮球,有时候在 POJ(Peking University Online Judge)上刷题,成果见下图:


详细请见:http://poj.org/userstatus?user_id=jeepyutian

又或者去玩个剑道:

关于篮球,雨琪老师是马刺球迷(San Antonio Spurs),连他的 QQ 签名都是:“Go Spurs Go!”。就在前两天雨琪老师跑去了美国德州追马刺。

据说马刺的更衣室内始终有一个相框,相框里是一段格言:“当一切看起来无济于事的时候,我去看一位石匠敲石头,他连敲了 100 次,石头依然纹丝不动,但他敲第 101 次的时候,石头裂为两半。我知道,让石头裂开的并不是那最后一击,而是之前 100 次的敲击。”

RustCon Asia 说什么

雨琪老师将跟大家分享当前他正在做的手淘首焦混竞项目,在高性能、高稳定性的需求场景下使用 Rust 的实践经验。

手淘首焦混竞项目需要算法根据不同用户实时选择商品、文案和创意模版,实时生成创意结果给用户。初期是用 Node 开发,后来也是因为性能无法满足这个需求,于是在 16 年开始转战 Rust。到目前为止已经稳定运营两年多,还经历过双十一的考验。在这个过程中,雨琪老师遇到的问题有:

  • 国内访问 crates.io 不稳定,开发环境可以使用中科大镜像,甚至在生产环境可以自己搭建本地镜像
  • 一直在寻找更加稳定的 Concurrent Hashmap,现在已有库大部分存在 panic 或者死锁问题
  • Future 很难,期待 Future 3.0 提供的 async/await 体验

对于项目本身的经验分享:

  • Concurrent Hashmap 构建缓存系统
  • Future 异步处理资源下载上传、计算
  • 在手淘服务端实时渲染创意过程中,渲染的 RT 要求非常高,替换为 Rust 之后,RT 获得了极大的提升
  • 目前单机(32核 2.5Hz 128G 内存)可以支持超过 3000QPS 的请求,稳定支持手淘首焦创意渲染需求

这是难得的又一例 Rust 在生产环境中的应用案例,不能错过!

更多联系方式

GitHub https://github.com/NoXF
Twitter https://twitter.com/RotxyXY
Instagram robotxy404
微博:Robot先酉

1赞