执行远程 Lua 脚本。

我想制作一个能够执行远程脚本的应用程序。用户可以创建一个脚本(可能是Lua脚本),然后将其存储在服务器上。然后,他可以使用API来执行脚本。我在考虑这个API可以是一个Web服务。因此,我的问题是:

我需要高性能来执行脚本。所以我的第一个选择是Lua脚本。还有其他的建议吗?

由于我需要高性能,所以我在想WebService是否是最佳解决方案。也许我可以创建一个TCP/IP Windows服务来处理用户请求。需要强调的是,我将有很多用户同时执行脚本。所以我会遇到并发问题。

我的脚本将在数据库中查询。我将使用Tokyo Cabinet或Tokyo Tyrant。我认为Tokyo Tyrant是唯一的解决方案,因为我将有很多请求。为了提高性能,我需要创建一个连接池吗?是否有任何方法可以在Web服务请求之间共享变量?

我想使用C++来制作WebService或Windows服务。

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

原文链接 https://stackoverflow.com/questions/2575744

点赞
stackoverflow用户41661
stackoverflow用户41661

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

我确信你已经考虑了安全影响!

建议:

  1. Lua 应该足够快。锁定标准库,否则你会后悔的。寻求建议,可以在 Lua 邮件列表中寻找 - 这个问题已经被很多人解决了。

  2. 只有当你有共享的可变数据时,你才有一个并发性问题。要解决你的问题,将该数据放在一个数据库中,数据库管理并发性。

  3. 你没有证据表明性能会成为问题。选择一个你能应付的数据库,做到最简单的事情,并测量吞吐量。如果不够快,改进,温故而知新。

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

  5. 过早地优化是万恶之源。不要担心性能问题,做可能有效的最简单的事情即可。

2010-04-04 21:08:03