5

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

 3 years ago
source link: https://serverlesscloud.cn/best-practice/2021-03-01-clb-serverless
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何快速迁移传统 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 跨域问题。

00ad6ae630ae7649cbab9d4a183fb6f6.png

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

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

754eb7b524ed5c110e58ded89bebb391.png

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

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

bb932260ab32349d3fec006f7e9cfd2d.png

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

业务对地域要求较高时,可以通过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 Framework 是构建和运维 Serverless 应用的框架。简单三步,即可通过 Serverless Framework 快速实现服务部署。

1. 安装 Serverless

macOS/Linux 系统:推荐使用二进制安装

$ curl -o- -L https://slss.io/install | bash

Windows 系统:可通过 npm 安装

$ npm install -g serverless

2. 创建云上应用

在空文件夹下输入 serverless 命令

$ serverless

访问命令行中输出的链接,即可访问成功部署后的应用。

3. 查看部署信息

进入到部署成功的文件夹,运行如下命令,查看部署状态和资源信息:

$ sls info

传送门:

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK