全部产品
Search
文档中心

负载均衡:ALB添加函数计算FC作为后端服务

更新时间:Mar 24, 2025

如果您使用阿里云函数计算(Function Compute,简称FC),并需要将函数计算作为ALB后端服务来处理请求,您可以为ALB实例添加函数计算类型的服务器组。通过ALB和函数计算的配置,实现ALB转发请求至函数计算并调用函数,函数在运行完成后,函数计算将运行结果作为响应返回给请求方。

功能简介

阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询、性能监控、报警等功能。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。

ALB支持将函数计算添加为后端服务,当接收到访问请求时,ALB会将请求内容转发给函数计算并触发函数调用,函数运行完成后,函数计算将运行结果作为响应返回给请求方。

说明
  • ALB支持将函数计算3.0/2.0添加为后端服务。其中,添加函数计算3.0作为后端服务的功能默认不开放,如需使用,请联系商务经理申请。

  • 使用函数计算服务前需要先开通函数计算服务。如果您是在2024年08月27日之后注册阿里云账号并完成实名认证,无需开通可直接使用函数计算产品。

  • 应用型负载均衡ALB与函数计算FC之间通过阿里云内部网络进行安全通信。

关键特性

  • 无服务器架构支持:ALB添加函数计算作为后端服务,可轻松构建无服务器应用,减少运维成本。

  • 自动弹性伸缩:函数计算能够根据流量自动扩展或缩减计算资源,确保应用在高峰期具备足够的计算能力,并在低谷时期节约资源。

  • 高可用性和容错性:ALB和函数计算共同提供高可用和容灾恢复能力,确保应用的稳定运行。

适用场景

  • 微服务场景:通过ALB丰富的高级路由能力,将请求分配到不同的微服务函数中。函数计算可以动态扩展,处理高并发请求,提高系统的弹性和可靠性。

  • 实时数据处理场景:通过ALB将数据处理请求分配给相应的函数,函数计算可以用几行代码和简单的配置对数据进行实时处理。

  • 事件驱动场景:ALB接收事件触发请求,将其转发到相应的函数。函数计算处理事件,并将处理结果存储到数据库或发送到其他服务,实现事件驱动的动态处理。

  • 图像和视频处理场景:ALB接收上传的图像或视频请求,将其分配到相应的处理函数进行处理。函数计算提供弹性计算资源,可以根据任务自动扩展,确保处理任务的高效完成。

使用限制

  • ALB支持添加函数计算作为后端服务的地域,请参见ALB挂载函数计算支持的地域

  • ALB实例和函数须属于同一个地域。

  • ALB的一个函数计算类型服务器组仅支持添加一个函数作为后端服务器。

  • 当函数计算2.0请求处理程序类型处理事件请求时,如果使用ALB关联该类型函数,需要配置HTTP触发器。

场景示例

某电子商务企业在阿里云某地域部署了ALB,以处理其平台上的大量用户请求。随着业务的发展和用户量的增加,企业需要一种灵活、高效的方式来处理动态内容生成、用户行为分析和个性化推荐等任务。

为了解决这一需求,企业选择了阿里云的函数计算服务与ALB结合使用,从而实现了对以上任务的高效处理,显著提升了用户体验。

image

前提条件

操作步骤

步骤一:创建函数

说明

本文以控制台为函数计算3.0页面进行操作。如果您需要使用函数计算2.0,可单击右上角返回函数计算2.0,返回函数计算2.0页面创建函数

  1. 函数计算控制台的左侧导航栏选择函数,在函数页面上方选择目标地域,然后单击创建函数

  2. 创建函数页面,选择函数类型并完成函数代码配置,然后单击创建

    本文以事件函数类型,函数代码保持默认配置的使用示例代码为例,事件函数其他参数配置可保持默认值或根据实际情况修改。

    创建事件函数

  3. 在函数详情页的代码页签,单击测试函数

    执行成功后,您可以在返回结果区域查看函数运行结果,本示例返回结果为hello world

步骤二:创建函数计算类型的服务器组

  1. 应用型负载均衡ALB控制台的左侧导航栏选择服务器组,在顶部菜单栏选择目标地域,单击创建服务器组

  2. 创建服务器组对话框,服务器组类型选择函数计算类型,然后单击创建

    重要

    当开启健康检查时,健康检查探测次数将计为函数计算的请求,函数计算会进行计费

    创建RS

  3. 服务器组创建成功对话框单击添加后端服务器

  4. 添加后端服务器面板,选择已创建的函数,然后单击确定

    本文配置方式通过选择资源函数名称选择已创建的函数,指定版本LATEST。如需通过ARN配置,需获取函数ARN

    添加函数为后端服务器

步骤三:配置监听

  1. 在左侧导航栏,选择应用型负载均衡ALB > 实例,单击实例ID。

  2. 单击监听页签,然后单击创建监听

  3. 配置监听配置向导页面,完成监听协议和端口配置,然后单击下一步

    本文使用HTTP协议、80端口。HTTP监听其他参数配置可保持默认值或根据实际情况修改。

    监听

  4. 选择服务器组配置向导,在选择服务器组的下拉框选择函数计算类型,选择目标服务器组,然后单击下一步

    选择服务器组

  5. 配置审核配置向导,确认配置信息,单击提交

步骤四:配置域名解析

实际业务场景中,建议您使用自有域名,通过CNAME解析的方式将自有域名指向ALB实例域名。

  1. 在左侧导航栏,选择应用型负载均衡 ALB > 实例,在实例页面,复制已创建的ALB实例的DNS名称。

  2. 执行以下步骤添加CNAME解析记录。

    1. 域名解析页面,找到目标自有域名,在操作列单击解析设置

      说明

      对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。

    2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定

      本文场景中,记录类型配置为CNAME记录值配置为ALB实例的DNS名称,解析记录其他参数配置可保持默认值或根据实际情况修改。

      CNAME

步骤五:连通性测试

完成上述操作后,ALB和函数计算已经建立了连接,您可以打开命令行窗口,执行curl <自有域名>命令,测试ALB和函数计算的连通性。

如下图所示,收到如下所示的回复报文,则表示ALB可以将请求转发至函数计算并调用函数。

测试

常见问题

ALB添加函数计算为后端服务时,为什么服务QPS(每秒可处理的请求数)未达到预期?

单个ALB实例最大性能可达100万QPS,但当ALB实例后端服务为函数计算时,通过函数计算所构建服务的QPS可能无法达到预期,主要原因包括:

  • 函数计算的单实例QPS:函数计算的单个实例在同一时刻只能处理一定数量的请求,当业务请求量超过当前实例数所能承载的最大QPS时,可能会出现请求排队或限流的情况。

  • 函数计算实例数上限:实例数上限表示同一时刻最多能同时使用的实例数。如果实例数量不足,即使单实例QPS较高,也会限制整体QPS。

    如何估算实际所需的最大实例数,请参见实例数上限与服务QPS的关系

您可以根据实际业务需求,结合函数计算性能探测结果,合理配置实例并发度实例类型及使用模式以及其他相关参数,必要时还可以提升实例上限,以达到最优的QPS性能上限。

相关文档

控制台操作文档

API文档