执行远程Lua脚本

时间:2010-04-04 20:13:33

标签: architecture scripting lua

我想创建一个执行远程脚本的应用程序。用户可以创建脚本(可能是Lua脚本),然后将其存储在服务器中。然后他可以使用API​​来执行脚本。我以为API可以是一个web服务。所以我的问题是:

我需要高性能来执行脚本。所以我的第一选择是Lua脚本。有人有另一种消化吗?

因为我需要高性能,我在想是否Web服务是最好的解决方案。也许我可以创建一个保存用户请求的TCP / IP Windows服务。重要的是要说我将同时有许多用户执行脚本。所以我会遇到并发问题。

我的脚本将在数据库中查询。我将使用Tokyo Cabinet或Tokio Tyrant。我认为Tokio Tyrant是唯一的解决方案,因为我会有很多要求。为了提高性能,我是否需要建立连接池?无论如何在webservices请求之间共享变量?

要创建Web服务或Windows服务,我正在考虑使用C ++。

有人可以帮助解决这些问题吗?

1 个答案:

答案 0 :(得分:3)

  

用户可以创建脚本[我的应用程序将执行它] ...

我当然希望您已经考虑过安全隐患!

建议:

  1. Lua可能足够快。锁定标准库,否则你会后悔的。有关建议,请查看Lua邮件列表 - 许多其他人已经解决了这个问题。

  2. 只有共享可变数据时才会出现并发问题。要解决您的问题,请将该数据放入管理并发的数据库中。

  3. 您没有证据表明性能会出现问题。选择一个可以使用的数据库,做最简单的事情,并测量吞吐量。如果它不够快,改进,冲洗,重复。

  4. 如果您使用Lua,您会发现与C语言接口比使用C ++更容易。

  5. 过早优化是万恶之源。不要担心性能问题并做最简单的事情。