在 Azure Service Fabric 上托管 Node.js 应用程序

本快速入门教程帮助你将现有的应用程序(本示例中为 Node.js)部署到在 Azure 上运行的 Service Fabric 群集。

必备条件

开始之前,请确保已设置开发环境,包括安装 Service Fabric SDK 和 Visual Studio 2019 或 2015。

此外还需一个用于部署的现有 Node.js 应用程序。 本快速入门使用简单的 Node.js 网站,可从此处下载。 在下一步骤中,请在创建项目后将此文件提取到 <path-to-project>\ApplicationPackageRoot\<package-name>\Code\ 文件夹。

如果没有 Azure 订阅,请创建一个试用版版订阅

创建服务

以管理员身份启动 Visual Studio。

使用 CTRL+SHIFT+N 创建一个项目

在“新建项目”对话框中,选择“云”>“Service Fabric 应用程序”。

将应用程序命名为“MyGuestApp”,并按“创建”。

重要

Node.js 可能会轻松突破针对 Windows 路径的 260 字符限制。 请对项目本身使用短路径,例如 c:\code\svc1。 (可选)可以按照 这些说明 在 Windows 10 中启用长文件路径。

New project dialog in Visual Studio

可以在下一对话框中创建任何类型的 Service Fabric 服务。 对于本快速入门教程,请选择“来宾可执行文件”。

将服务命名为“MyGuestService”,然后将右侧的选项设置为以下值:

设置
代码包文件夹 <包含 Node.js 应用的文件夹>
代码包行为 将文件夹内容复制到项目
节目 node.exe
参数 server.js
工作文件夹 CodePackage

按“确定” 。

New service dialog in Visual Studio

Visual Studio 会创建应用程序项目和执行组件服务项目,并在解决方案资源管理器中显示它们。

应用程序项目 (MyGuestApp) 不直接包含任何代码。 该项目引用一组服务项目。 此外,它还包含三种其他类型的内容:

  • 发布配置文件
    针对不同环境的工具首选项。

  • 脚本
    用于部署/升级应用程序的 PowerShell 脚本。

  • 应用程序定义
    包括 ApplicationPackageRoot 下的应用程序清单。 关联应用程序参数文件位于 ApplicationParameters 下,它们定义应用程序并使你可以专门为给定环境对其进行配置。

有关服务项目的内容概述,请参阅 Reliable Services 入门

设置网络

要部署的示例 Node.js 应用使用端口 80 ,我们需告知 Service Fabric:我们需公开该端口。

打开项目中的 ServiceManifest.xml 文件。 在清单的底部,有一个已定义了条目的 <Resources> \ <Endpoints>。 修改该条目,添加 PortProtocolType

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->

      <Endpoint Name="MyGuestAppServiceTypeEndpoint" Port="80" Protocol="http" Type="Input" />
    </Endpoints>
  </Resources>

“部署到 Azure”

如果通过按 F5 来运行项目,则会将其部署到本地群集。 但请将其部署到 Azure。

右键单击项目,选择“发布...”,此时会打开一个将内容发布到 Azure 所需的对话框。

Publish to azure dialog for a service fabric service

选择 PublishProfiles\Cloud.xml 目标配置文件。

选择要将内容部署到其中的 Azure 帐户(如果尚未这样做)。 如果还没有该帐户,请注册一个

在“连接终结点”下,选择要将内容部署到其中的 Service Fabric 群集。 如果没有该群集,请选择“<新建群集...>”,此时会打开通往 Azure 门户的 Web 浏览器窗口。 有关详细信息,请参阅在门户中创建群集

创建 Service Fabric 群集时,请确保将“自定义终结点”设置设为“80”。

Service fabric node type configuration with custom endpoint

创建新的 Service Fabric 群集需要一段时间来完成。 创建完以后,请回到发布对话框,然后选择 <刷新> 。 新群集列在下拉列表框中;请将其选中。

按“发布” ,然后等待部署完成。

这可能需要几分钟的时间。 完成后,可能还需要等待几分钟,该应用程序才会完全可用。

测试网站

发布服务以后,请在 Web 浏览器中对其进行测试。

首先,打开 Azure 门户并找到 Service Fabric 服务。

检查服务地址的概览边栏选项卡。 使用“客户端连接终结点” 属性中的域名。 例如 http://mysvcfab1.chinanorth2.cloudapp.chinacloudapi.cn

Service fabric overview blade on the Azure portal

导航到该地址,可以在其中看到 HELLO WORLD 响应。

删除群集

请勿忘记删除为本快速入门创建的所有资源,因为系统会对这些资源收费。

后续步骤

阅读更多有关来宾可执行文件的内容。