Very busy web sites are starting to connect to huge MySQL clusters over nonblocking sockets in order to handle many more concurrent requests than ever. The Nginx community has created an Nginx upstream module named ngx_drizzle that uses the libdrizzle library to talk to MySQL backends in a nonblocking and streaming manner. The LuaJIT engine has also been embeded directly into the Nginx core via the ngx_lua module. And web developers can now use the Lua language to script ngx_drizzle and dozens of other Nginx modules to build high performance MySQL backed web applications.
In this session the main creators of the ngx_drizzle, ngx_lua, and many other Nginx modules will first talk about the architecture of the Nginx core, an HTTP server that is known for its capability of handling C10K. And then they'll further show you how to turn Nginx into a full-fledged web application server that can leverage MySQL, Memcached, and many other backends. Real-world applications running completely atop this stack in very big Internet companies in China will also be presented. Finally they'll explain how it performs compared to the traditional PHP/MySQL solution, as well as new players like Node.js.
Track:Trends in Architecture and Design
11 April 15:30 - 16:20 @
Xiaozhe Wang coauthored the NginX drizzle and lua modules. He is experienced in distributed data analysis / storage system and high performance web services. He lives in Beijing and works as the architect of Linezing data analysis product in Taobao.
(Former) Technical Expert, Taobao.com, Alibaba Group
Zhang Yichun coauthored the Nginx Drizzle and Lua modules. He maintains dozens of other Nginx modules and also contributes to the Nginx core by patches. While working for Taobao.com, he designed and implemented a data platform based on Nginx, Lua, and MySQL clusters. He lives in China and now works as an independent opensource developer.