2010-04-04 227 views
0

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

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

原因我需要高性能,我想如果web服务是最好的解决方案。也许我可以创建一个持有用户请求的TCP/IP Windows服务。很重要的一点是,我将有许多用户同时执行脚本。所以我会遇到并发问题。

我的脚本将在数据库中进行查询。我会用东京内阁或东京暴君。我认为Tokio Tyrant是唯一的解决方案,因为我会有很多要求。对于性能,我需要建立连接池吗?无论如何共享Web服务请求之间的变量?

为了使Web服务或Windows服务我想使用C++。

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

+4

不要担心性能。根本不用担心表现!让它起作用。也许有一天,当你的服务增长到全球前10名时,你需要担心如何让它变得更快。直到那时睡好。 – 2010-04-05 18:30:10

回答

3

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

我当然希望你已经通过了安全隐患想到!

建议:

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

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

  3. 您没有证据表明性能会成为问题。选择一个你可以生活的数据库,做最简单的事情,并测量吞吐量。如果速度不够快,改善,冲洗,重复。

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

  5. 不成熟的优化是万恶之源。不要担心性能,并做最简单的事情,可能会工作。

+4

点#5,“做最简单的事情,可能可行”,应该是#1! – 2010-04-04 23:51:46