网络服务开发框架:aLiLua
LiLua 是一套基于 epoll/kqueue/Lua 构建的网络服务开发框架
aLiLua 使用 epoll 进行网络/文件IO事件读写,对Lua协程进行调度,其性能高效并且简单
Lua 语言就像 PHP 那么简单容易理解。
Lua 语言
Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程式里。和许多"大而全"的语言不一样,网路通讯、图形界面等都没有默认提供。但是Lua可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。
Lua是一个动态弱类型语言,支援增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支援。
aLiLua 核心通过 epoll 处理异步IO事件,并引入 Lua 语言用于业务逻辑处理。aLiLua 的事件核心可非常高效的调度多个 Lua 协程,使之协同工作以实现高并发的网络服务。
local db = mysql:new() local db_ok, err, errno, sqlstate = db:connect({ host = "localhost", port = 3306, pool_size = 256, database = "db", user = "user", password = "***"}) if not db_ok then header('HTTP/1.1 503 ServerError') die('MySQL Connection Error.') end local res, err, errno, sqlstate = db:query("SELECT * FROM t1 LIMIT 1") if not res then echo("bad result: ", err, ": ", errno, ": ", sqlstate, ".") else echo("result: ", json_encode(res)..'\n') end
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!