npm 包 faast 使用教程

阅读时长 4 分钟读完

简介

Faast.js 是一个为了帮助您快速开发分布式和弹性应用程序的 JavaScript 库。该库通过简化完成常用云计算任务的方式,使云计算任务变得更加容易。通过Faast.js,您可以轻松地将计算任务分散到多个云计算实例中。

安装

快速开始

Faast.js 可以帮助您轻松完成以下操作:

  • 快速将计算任务分散到多个云实例上。

  • 优化云实例以提高性能并减少计费。

  • 使用 Lambda、Azure Functions 和 Google Cloud Functions 这些无服务器计算服务来为您处理计算核心部分。

  • 通过自动调整并行度和云实例来为您找到最优解决方案。

让我们来看一个使用 faast.js 的示例代码:

-- -------------------- ---- -------
----- ----- - ---------------------------
----- ----- - -
  ----- ----------- -- -
    ------ - - --
  --
--
------ -- -- -
  ----- - - ----- ------------ -------
  --- -
    ----- ------ - ----- ------------- ----
    ------------------- -- ------------
  - ------- -
    ----- ------------
  -
-----

该代码首先定义了一个将被 faast 使用的功能,然后启动了一个 AWS 实例并调用了该功能。最后,Faast.js 回收了使用的实例。

Faast.js 的详细使用方法

准备工作

在使用 faast.js 的时候,我们需要一个账户来存储我们需要的密钥信息。在 AWS 中,这个账户称为 IAM。

因此,如果您还没有 AWS 账户,请首先注册 AWS,然后创建一个新的 IAM 用户,并将以下权限添加到IAM用户中:

  • ComputeOptimizerFullAccess

  • AmazonLambdaFullAccess

  • AWSStepFunctionsFullAccess

  • AmazonS3FullAccess

  • AmazonEC2ContainerRegistryFullAccess

使用 faast.js

要使用 faast.js,您首先需要安装它:

然后,您需要导入它并定义一个或多个函数,这些函数将由 faast.js 处理。

下面是一些类似上面示例代码的例子:

-- -------------------- ---- -------
----- ----- - ---------------------------

-- ------ ----------------- ------
----- ----------------- - --- -- -- - - --

------ -- -- -
  -- ----------- --- ----------------------- ----- -- ------ ----- ---------
  -- -----------------------------------
  ----- - - ----- ------------ - ---------- -
    --------- ----------------- -- --------- -- -------
  - ---

  --- -
    ----- ------ - ----- ------------- ----
    ------------------- -- ------------
  - ------- -
    ----- ------------
  -
-----

在这个例子中,我们选择 AWS 作为云环境。我们导入了 faastjs,定义了一个名为 singleCPUFunction 的函数。

我们调用 faastjs 函数,并将 singleCPUFunction 作为参数传递给它。这表明我们希望在云中使用的功能是 singleCPUFunction

框架会为您完成以下任务:

  • 创建一个 AWS Lambda 函数。

  • 将 AWS Lambda 函数与一个 Amazon API Gateway 建立集成。

  • 为您管理 Lambda 函数的计费。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005664d81e8991b448e26ee

纠错
反馈