如何快速迁移传统 LB 公网业务到 Serverless?

作者:
发布于: 2021-3-1
归档于:

标签:ServerlessCLB

Serverless 云函数触发困难?函数触发太复杂不会配 ?无法平移传统 LB 公网业务?现在云函数已全面支持负载均衡(Cloud Load Balancer,CLB) 触发方式。提供服务级访问函数方案,适用于企业节点较多,有历史服务在CVM、容器、自建机房、且服务较重访问量较多的场景。

通过 CLB 触发器可以深度对接 Serverless 函数公网访问服务,帮助开发者平滑迁移传统架构到 Serverless,提供理解成本更低,更易操作,更加便捷的公网接入及 Web 访问体验。

CLB 触发器的优势及特点

  1. 海量调用函数场景下,对企业开发者较为友好,相较于其他方式更具性价比。 
  2. 支持 IP 维度的 Serverless 型服务管理,可结合域名分地域解析能力,帮助用户实现不同地域触发不同函数执行。提升函数服务的整体可用性。
  3. 服务级封装,单个 LB 可以同时封装 CVM,容器与 Serverless 服务, Serverless 服务可以更加方便的切入业务系统的核心服务,可以通过CLB触发器的方式直接路由到函数做支线能力,无需再次绑定域名,解构服务。
  4. WAF防护,CLB可以直接对接WAF产品对非法请求做拦截,提供更加专业的WEB应用服务防护。
  5. 支持SSL自有证书,通过CLB可以实现 Serverless 应用层的证书服务,支持 SNI 多域名证书绑定。

CLB 触发器的典型应用场景

典型场景一:秒杀/抢购活动

秒杀 & 抢购活动对整体资源的应用弹性的要求比较高,而且和业务的主干场景联系较为紧密。一般是业务系统中较为独立的模块,便于迁移和改造。且可以通过 CLB 的能力无缝支持到云函数,整体计费相对于按调用次数的收费场景要友好很多,迁移成本会比较低。同域名下也可以轻松解决 CORS 跨域问题。

典型场景二:辅助系统架构

如企业的非主干 WEB 业务,订单系统,采集系统,BI分析等对削峰填谷比较敏感的非主干场景,整体迁移成本会比较底 低且迁移收益大。

典型场景三:动静态业务分离

当业务请求量较大时,可以通过区分网站的静态和动态请求,有针对性的对其进行分发处理,有效减少后端负载压力。其中动态请求可以通过单独部署负载均衡及关联 Serverless 服务进行处理;静态内容可以通过接入 CDN 服务,通过对象存储进行优化,显著提升加载速度。

典型场景四:同域名,地域级访问服务

业务对地域要求较高时,可以通过CLB对函数做地域级访问划分。

CLB 触发器配置及使用指引

  1. 在CLB控制台新建”负载均衡“实例及”监听器”资源

img

img

  1. 在CLB控制台或函数控制台绑定需要访问的函数(暂支持单函数单URL绑定)

img

img

  1. 编辑函数代码 (需要按照特定响应集成格式返回,详见产品文档

img

响应集成演示代码:

  # -*- coding:utf-8 -*-
  def main_handler(event, context):
      html="CLB Runing Now."
      return {
          "isBase64Encoded": False,
          "statusCode": 200,
          "headers": {'Content-Type': 'ccc'},
          "body": (html)
          # "body": ('%s%s'  %(html,event))
      }

使用说明

CLB 触发器目前处于灰度测试阶段,您可点击 申请链接 进行申请。

CLB 账户分为标准账户类型和传统账户类型。传统账户类型不支持绑定 SCF ,建议升级为标准账户类型。详情可参见 账户类型升级说明




传送门:

欢迎访问:Serverless 中文网,您可以在 最佳实践 里体验更多关于 Serverless 应用的开发!