孤独的航海家:章亦春的OpenResty和它的贡献者们

两天前的Smartisam T2手机发布会上,罗永浩宣布,将把门票收入捐给一个开源社区——OpenResty。这是锤子科技的惯例,资助为科技行业做出重大贡献的公益组织。

章亦春:OpenResty的创造者

1年多前的T1发布会上,锤子把门票收入捐给了OpenSSL,这是一个被广泛用于网页服务器上的开源服务,它提供的算法、密钥管理等功能被无数大小互联网公司无偿使用,保障着我们每个人在互联网上的私密通讯。

OpenResty和OpenSSL不同。如果说后者是一个保障互联网通讯安全的“基础设施”,OpenResty就是一个探索新世界的利器,它为像淘宝一样高并发、高负载的网站提供一种新的高性能服务端解决方案。

淘宝后台的一个数据库工程师这样形容使用OpenResty后的体验:之前老板点击一个黄钻卖家的报表,离开工位倒杯水回来,报表还在转;新版的话,啪一下就出来了。而且,相对于老版本,使用OpenResty减少了90%的代码量。

这一切也是开源的,就是说,所有的企业和个人都可以无偿、自由使用。

OpenResty的创建者叫章亦春,他曾工作于雅虎中国和淘宝,现在定居在旧金山,是CloudFlare公司的系统工程师,这家公司提供网站安全管理、性能优化等相关技术支持工作。OpenResty是章亦春在淘宝工作期间的成果。

2009年,章亦春加入了淘宝的“量子统计”数据平台部门,为卖家提供流量统计、销售统计、广告效果报表等数据分析产品。它的业务逻辑很复杂,对性能的要求也很高,而且,后台的数据量很恐怖,淘宝大部分商家的数据都会在这里展现,进行各种维度和搜索的分析。

taobao-liang-zi

淘宝量子统计平台

为了应付这些需求,喜欢“不务正业”的章亦春把自己之前写的名为OpenResty的框架进行了重写,另辟蹊径地把两个极其优秀的组件进行了糅合—— Nginx和Lua,这就是今天的开源项目OpenResty。

温铭:OpenResty中国区负责人之一

温铭是OpenResty中国社区的负责人之一,他供职于360企业安全部门,在《OpenResty的现状、趋势、使用及学习方法》这篇文章里,他介绍了自己和OpenResty的渊源。

2011年,惯用Python开发的温铭接触到了Nginx,这是俄罗斯程序员Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的高性能服务器架构技术。用温铭的说法,刚接触到这个技术,就“被异步的高性能颠覆了三观”。不过,作为一种小众的新技术,即使是温铭这样的技术大牛,也同样苦恼学习资料匮乏,入门门槛太高。

2012年,温铭加入了360企业安全部门。这时,他知道了OpenResty,后者创造性地把入门门槛极高的Nginx和一种新的编程语言Lua进行了揉和,使Nginx的各种功能可以自由拼接,成倍地降低了入门门槛。

于是,温铭OpenResty用在了企业安全一个新项目里面,把它作为了服务端的主要技术,新项目主要面对央企和专用网,一个网络中有上百万的终端。OpenResty很出色地完成了任务,“性能测试甩之前的N条街”。

随着360企业安全服务用户越来越多,温铭发现,原先的技术架构开始捉襟见肘,客户抱怨、团队加班产生的抱怨接连而来。

为了应对这种情况,温铭开始通过对比测试、OpenResty培训、用户性能问题排查等,让开发的同事们了解这门技术的优势。最终,“快被加班压垮的开发同学,逐渐开始选择使用 OpenResty 而不是自研的框架,来进行新功能的开发,以及旧功能的迁移。”

自此,温铭也成了OpenResty的忠实粉丝。

第一届OpenResty技术大会:孤独的航海家原来并不少

温铭介绍,OpenResty诞生于2011年,大多数时间都是章亦春在维护这个项目,当然也有很多开发者提交 feature和bugfix ,但基本上算单打独斗。

除了“孤独”的章亦春,温铭觉得自己也是孤独的。使用这种小众的技术,温铭觉得自己的团队可能是个异类。不过,今年11月14日,OpenResty举行了第一届全球技术大会,这次大会上,很多人恍然大悟:原来和我们一样使用OpenResty的人并不少。

除了360企业安全,又拍云、酷狗音乐都在自己的核心系统中使用了OpenResty。大家更熟悉的京东,也在复杂的商品详情页使用了OpenResty渲染。另外,新浪移动全线产品都使用了OpenResty。

在锤子手机发布会上,罗永浩还透露了使用OpenResty的一些国外公司,包括Dropbox、Adobe、Github这些大名鼎鼎的公司,当然,还有章亦春供职的CloudFlare。

openresty-2

使用OpenResty的国外公司

“一般后端开发的同学,尤其对高性能服务感兴趣的同学在第一次接触OpenResty后基本会很惊讶如此高的性能、如此令人眼前一亮的开发模式,顺其自然会尝试去调研甚至是在生产环境中使用它。我就是这样走过来的,后来慢慢了解到很多社区的朋友也都是这么过来的。”

新浪移动事业部技术经理周晶这样说。

锤子科技和OpenResty

罗永浩在发布会上说,早在1个月前,锤子就开始寻找合适的捐助对象。因为将门票收入捐给OpenSSL这件事,锤子还受到过指责,“为什么总把钱捐给外国人”。

罗永浩的无奈是中国人在开源社区的贡献并不多,所以当锤子看到OpenResty时非常欣喜,当即决定把门票收入捐给他们。

openresty-3

温铭告诉我,Python社区的“大妈”Zoom.Quiet为促成此事起了很大作用,早在2011年,Zoom.Quiet就开始了OpenResty的启蒙运动,温铭也是通过他才知道这个优秀的开源项目。锤子在寻找合适的捐助组织过程中,他把温铭引荐给了锤子科技。

罗永浩没有透露这次发布会的收入有多少,温铭同样不知道捐款的具体金额,不过锤子的这次捐助无疑会让社区有资金更快发展。当然,更重要的是,这会让更多的开发者和公司了解和参与这个开源项目,给社区发展带来更多的灵感和活力,“这些是无法用金钱衡量的”。

目前,OpenResty软件基金会的申请资料也已经递交政府部门,预计很快可以成立。温铭透露,基金会是按照慈善非盈利组织运作的,每一笔款项都会受到审计和法律监管。基金会将有多位董事管理日常事务,保证捐助都得到合法和最优的使用。

写在最后

OpenResty社区是一群很低调的人,即使在锤子的发布会上,他们中的很多人也不愿意透露自己的姓名。这次采访中,在我的请求下,终于有几位成员愿意“现出真身”。我想在这里介绍一下几位勇于探索并乐于分享的“航海家”:

温铭,OpenResty中国社区负责人之一,奇虎360企业安全服务端架构师,和同事王院生、艾菲一起主导了OpenResty开源书、视频课程、技术大会等社区事务,并在逐步介入核心开发。

朱德江,OpenResty项目的核心开发者,在酷狗音乐开发了支持C2000K的推送系统。

张聪,带领的UPYUN(又拍云)团队,开发了大量实用的lua-resty-*库,并在逐步开源。

周晶,在新浪移动全盘用OpenResty替换原有系统,热门的新浪体育、新浪财经,后台都是OpenResty在服务。

最后,如果你是一位工程师,想要学习或加入OpenResty社区,可以在中文论坛(bbs.iresty.com)找到你要的帮助。

 

题图来自:Trybiane

订阅更多文章