OpenResty 是一个开源的 Web 平台,用于开发高性能和高动态的 Web 网关或者 Web 应用。OpenResty 最早是为了支持全网搜索引擎周边的相关搜索的 API 接口,后来我们基于 Nginx 和 LuaJIT 重写了 OpenResty,用于支持淘宝量子统计这款产品的所有数据 API,再后来,我加入美国的 CDN 公司 Cloudflare,使用 OpenResty 驱动 Cloudflare 全球 CDN 网络的动态 http 和 https 代理系统。

从出生的第一天起,OpenResty 就是开源的。这些年来,OpenResty 社区尝试把它用于各种不同的业务场景,有些场景甚至是我们完全无法想象的。比如有的公司使用它构建分布式网络存储系统的前端和后端(比如网盘应用);有的用它来构建完整的 Web 应用,像电商平台的商品详情页的生成和大型体育赛事的 Web 管理系统;也有的公司基于它构建大型的互联网广告平台,或者更复杂的 Web API 管理系统;还有的公司拿它来驱动小流量调度的硬件盒子,或者驱动家居陪伴型机器人;当然,更多的还是用于实现那些流量非常庞大的 Web API。[似乎和流量相关的工作都有机会用到 OpenResty,我们也有用户使用完全基于 OpenResty 的权威 DNS 服务器。]

OpenResty 的优势在于小巧灵活、高性动态。基于 Nginx 事件模型和 Lua 的协程,我们实现了基于 I/O多路复用的高效 I/O 调度器,引入了“轻量级线程”和“协程 socket“(又称cosocket)等强大的抽象。Lua 的动态性使得代码在请求和连接级别的按需加载和热替换、热卸载变得非常容易和安全。这种能力在动态 CDN 场景下显得尤为关键,因为那里经常需要处理几十万乃至上百万不同站点的配置,而且这些配置可能一直都处于动态变化中,需要很高的生效速度,即使是全球网络的规模也是一样。

OpenResty的创造者是一个中国人——章亦春,一个醉心技术、接近圣人的程序员。

他曾经以手写抄书、抄写代码为乐趣、可以不计较收入从阿里辞职回家专职维护OpenResty开源项目。

他技术很高但却能对OpenResty相关的问题都耐心详细的回答。他用尽一切办法维护和推广OpenResty,并也得到大部分前同事和朋友的认可和称赞。

他是大部分以技术为个人方向的程序员学习的榜样。

 

从抄书到开源之巅:章亦春的程序人生 @agentzh

OpenResty创造者的更多相关文章

  1. 火焰图分析openresty性能瓶颈

    注:本文操作基于CentOS 系统 准备工作 用wget从https://sourceware.org/systemtap/ftp/releases/下载最新版的systemtap.tar.gz压缩包 ...

  2. openresty 前端开发入门五之Mysql篇

    openresty 前端开发入门五之Mysql篇 这章主要演示怎么通过lua连接mysql,并根据用户输入的name从mysql获取数据,并返回给用户 操作mysql主要用到了lua-resty-my ...

  3. openresty 前端开发入门六之调试篇

    大多数情况下,调试信息,都可以通过ngx.say打印出来,但是有的时候,我们希望打印调试日志,不影响到返回数据,所以系统打印到其它地方,比如日志文件,或者控制台 这里主要用到一个方法就是ngx.log ...

  4. openresty 前端开发序

    还记得第一次尝试前后端分离的时候,是使用nginx + react 构建的spa应用,后端是java,主要处理业务逻辑逻辑部分,返回json数据,在nginx里面配置好html + js纯静态文件,再 ...

  5. openresty 前端开发入门一

    OpenResty ™ 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭建能够处理超高并发.扩展性极高的动态 ...

  6. mac下openresty安装

    //openresty安装 http://openresty.org/ brew updatebrew install pcre openssl ./configure --prefix=/usr/l ...

  7. 如何在openresty里解析域名

    转:原文:http://hambut.com/2016/09/09/how-to-resolve-the-domain-name-in-openresty/?utm_source=tuicool&am ...

  8. 用Nginx+Lua(OpenResty)开发高性能Web应用

    在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡.反向代理.代理缓存.限流等场景:而把Nginx作为一个Web容器使用的还不是那么广泛.Nginx的高性能是大家公认的,而Nginx开 ...

  9. OpenResty 是一个全功能的 Web 应用服务器

    OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项. 通过众多进行良好设计的 ...

随机推荐

  1. 关于Gradle配置的小结

    前言 使用 Android Studio 来开发 Android 工程的过程中,接触 Gradle 是不可避免的,比如配置签名.引入依赖等.那么 Gradle 到底是什么东西呢? Gradle 是一个 ...

  2. -webkit-transform:translate3d(0,0,0)触发GPU加速,让网页动画更流畅

    前段时间,依照美拍的视频效果写了一个效果类似的网页版的动画. 电脑上安装了三种浏览器:IE.Chrome.Firefox.分别作了測试,结果显示Chrome在这方面的渲染效果最差.常常出现卡顿现象.f ...

  3. 【西祠日志】【07】努力努力,找资料,思考,怎么做asp图片上传

    [西祠日志][07]努力努力,找资料.思考.怎么做asp图片上传  (2015.07.23周四) 今天忘了带本子.直接写在书上了笔记,晚点还是夹在本子里. 学了这么久的web应用,一直都没时间去做一点 ...

  4. LeetCode85 Maximal Rectangle java题解

    public static int maximalRectangle(char[][] matrix) { int rowNum=matrix.length; if(rowNum==0) return ...

  5. 笔记12 export to excel (NPOI)

    1:filestream 熟悉关于文件操作 ==>fs.Seek(0, SeekOrigin.Begin);//每次打开文件, ==>若果重写覆盖的话,必须先清空 fs.SetLength ...

  6. idea安装plugin

    ---恢复内容开始--- ---恢复内容结束---

  7. wepy原理研究

    像VUE一样写微信小程序-深入研究wepy框架 https://zhuanlan.zhihu.com/p/28700207 wepy原理研究 虽然wepy提升了小程序开发体验,但毕竟最终要运行在小程序 ...

  8. 超简单易用的 “在 pcduino 开发板上写 Linux 驱动控制板载 LED 的闪烁”

    版权声明:本文为博主原创文章,未经博主同意不得转载.转载联系 QQ 30952589,加好友请注明来意. https://blog.csdn.net/sleks/article/details/251 ...

  9. svn提交异常file is scheduled for addition, but is missing

    svn提交错误file is scheduled for addition, but is missing svn ci -m "" svn: E155010: Commit fa ...

  10. 20170313 ABAP程序未激活状态下保存或激活进入debug

    自动进入断点,没有设置的.FUNCTION RS_NEW_PROGRAM_INDEX. https://archive.sap.com/discussions/message/14132983 解决办 ...