这是一个创建于 40 天前的主题,其中的信息可能已经有所发展或是发生改变。
笔者希望复杂的业务逻辑代码使用 lua 来编写,每个请求 servlet 都传递给 lua 来处理业务逻辑。但是发现一个问题是请求是并发的 ,而 lua 虚拟机实例就一个,当 servlet 请求有一些阻塞操作,例如使用 lua 访问数据库进行复杂操作会阻塞 io ,当 io 被阻塞的时候,lua 虚拟机将无法接受其他 servlet 请求,把 jetty 服务器编程了单线程。
笔者思考把阻塞业务都用异步来实现,但是又增加了 lua 编写业务代码的复杂度,不知道大家有没有好的策略
|
|
1
iminto 40 天前 via Android
?你提出了一个错误的问题
lua 有协程,显然可以处理并发的,并且有非常丰富的实例。比如 openresty 就是用了大量 lua ,而且也有连接数据库的模块。
|