基于libevent2的lua rpc 框架,单进程单线程模式,项目开发别阶段可以以单进程多线程模式开发,可以轻松的加入的游戏服务器中。
简单易用的socket接口,轻松搭建出分布式系统
提供简单的mongodb,redis驱动,lua调试器,lua热点堆栈分析器,lua死循环抛出,基于gperftools的性能分析器和内存分析器,lua层异步等待进程退出等模块。
https://github.com/2109/event.lua
下面是代码片段,由master进程根据.env配置创建多个httpd进程,
local master_channel = channel:inherit()
function master_channel:disconnect()
handler.leave(self)
end
local function accept(_,channel)
handler.enter(channel)
end
local ok = event.listen("0.0.0.0",env.master,accept,master_channel)
if not ok then
event.error("listen error")
end
event.error(string.format("master listen on:%s",env.master))
for i = 1,env.httpd_max do
event.fork(function ()
while true do
event.run_process("./event_tc httpd")
event.error("httpd down,try again")
event.sleep(1)
end
end)
end