Color
pdf
|<<
<
>
>>|
/
The Past, Present, and {{#ci|Future}} of OpenResty OpenResty 的过去、现在和未来 ☺{{#author|agentzh@gmail.com}}☺ {{#author|章亦春 (agentzh)}} {{#date|2015.11}} ---- search.yahoo.cn ---- chaoslawful ---- lz.taobao.com ---- www.cloudflare.com ---- {{img src="images/ngx-lua-cmd-cloud.jpg" width="1186" height="636"}} ---- {{img src="images/lua-resty-cloud.jpg" width="1186" height="715"}} ---- API Server HTTP Proxy Web Application ---- The {{#ci|all-inclusive}} philosophy 兼容并包的哲学 ---- Simple Small Fast Flexible ---- Pragmatism 实用主义 ---- -O{{#i|fun}} ---- Mailing lists GitHub QQ Group Conferences ---- \"Programming OpenResty\" 《OpenResty 编程》 ---- Package Management ---- iresty.org ---- {{#v|$}} iresty install agentzh/resty.foo {{#v|$}} iresty remove agentzh/resty.foo {{#v|$}} iresty search bar ---- {{#v|$}} restydoc resty.blah ---- {{#v|$}} resty -e {{#c|'ngx.say("Hello OpenResty!")'}} ---- Lua libraries OpenResty Applications ---- Limited LuaRocks Compatibility ---- More official binary distributions ---- Windows ---- Ubuntu Debian Fedora CentOS RHEL ... ---- iresty.org -> binary packages ---- TCP server support ---- ngx_stream_echo_module ngx_stream_lua_module ---- UDP server support ---- Templating ---- lua-resty-tt2 (jemplate) ---- Streaming Regex ---- libsregex (ngx_replace_filter) Intel HyperScan? ---- lua-resty-pegex ---- The {{#ci|Edge}} Language ---- Official {{#ci|WAF}} Platform 官方的 WAF 平台 ---- {{#ci|Stateful}} service support (DHT, gossip, CRDT) ---- ngx.semaphore ---- {{#ci|List}}-typed values in ngx.shared.DICT (Redis style) ---- Shm-based {{#ci|databases}} (relational, time-series, and etc) ---- init_by_lua + cosockets ---- dgram_sock:bind() ---- Connection-pool based concurrency control and {{#ci|queueing}} in cosockets. ---- ngx.connection ---- {{#kw|local}} connection = {{#kw|require}} \"ngx.connection\" {{#kw|local}} conn = connection.new(fd) conn:wait_read() conn:wait_write() conn:wait_rw() ---- Upstream ---- balancer_by_lua ---- SSL ---- ssl_certificate_by_lua ---- ssl_session_fetch_by_lua ssl_session_store_by_lua ---- SSL session ticket key rotation ---- LuaJIT ---- New LuaJIT GC ---- string.buffer ---- Debugging ---- gdb (breakpoints, GC, stack) ---- systemtap (stap++, nginx-systemtap-toolkit) ---- lldb (from LLVM) ---- eBPF (Linux) ---- The {{#ci|Y}} Language ---- {{#v|$}} ylang -Tgdb -o foo.py foo.y {{#v|$}} ylang -Tlldb -o foo.py foo.y {{#v|$}} ylang -Tstap++ -o foo.sxx foo.y {{#v|$}} ylang -Tebpf -o foo foo.y ---- ☺ {{#ci|Any questions}}? ☺ 欢迎提问