允许用户添加自己的代码并在条件匹配时执行

时间:2017-02-11 03:29:30

标签: javascript node.js express amazon-s3

我正在开发一个多租户应用程序,并且必须允许用户添加自己的代码并在条件匹配时运行它们。

我心里想的很少,但不知道哪种方法最好。

下面列出的所有方法都可以区分不同用户添加的代码和他们所属的租户。

方法#1: 将用户添加的代码存储在文件中,当条件匹配时,只需加载该文件,执行代码即可。简单,它会工作。

但取决于没有。使用该应用程序的用户及其添加的自定义代码数量,这不是一个高度可扩展的解决方案。

方法#2:Method #1相同,但在此我们将代码存储在 S3存储区中,并在我们必须执行时直接从S3加载。

这样我就不用担心文件系统或任何东西了,这是一个可扩展的解决方案。

方法#3: 数据库,将代码存储在数据库中,在存储之前验证它以及何时执行代码,只需从数据库加载它并执行它。

简单,可扩展且最佳(如果做得好)。

虽然Method #3是我最喜欢的,但我认为Method #2将是最佳解决方案,因为稍后我可以允许用户上传代码而不是使用我们的平台来编写代码。

你们有其他建议吗?有实施这方面的经验吗?这可能会出错*?

1 个答案:

答案 0 :(得分:0)

方法3最好,听起来如此。使用SQL的变体来创建数据库,并保留SQL查询的方法。根据我对数据库的经验,如果你保持桌面组织良好,它将是一个比其他方法更好的平台,你可以使用javascript的一些邪恶混合来用SQL在你的数据库中创建一个新的租户。