课时10:典型案例3:十分钟搭建弹性可扩展的 Web API

简介: 课时10:典型案例3:十分钟搭建弹性可扩展的 Web API

玩转AIGC训练营:课时10:典型案例3:十分钟搭建弹性可扩展的 Web API

课程地址:https://developer.aliyun.com/trainingcamp/1893257e5f7a442c988fd52c818309b3?spm=a2cwt.28237621.J_9603273760.8.31b2b726xTbsZG

课时10:十分钟搭建可弹性可扩展的 WebAPI

 

内容介绍:

一、基本概念

二、WebAPI的开发流程

三、操作演示

 

一、基本概念

1. 基本概念中介绍了基于函数计算的 WebAPI 和普通 WebAPI 有什么区别并有哪些优势

2. 开发流程中介绍了如何在函数计算的控制台进行 WebAPI 的开发

3. 操作演示中会根据实例演示函数计算 WebAPI 的开发过程

image.png

常见 WebAPI 的架构如图所示,包括客户端、服务端、数据库,WebAPI由服务器提供,同时服务器还要完成负载均衡、登录健全、日志监控等相关操作。

当客户端流量快速增加时服务端只能通过水平扩展加机器的方式来增加自建的服务能力,这种常规模式主要分析两点局限性:

1. 技术同学除了开发业务代码,有大量的服务器运维成本,来保证服务的稳定性、可用性

2. 流量增加时只能水平扩展加机器,响应速度慢、成本高。

image.png

基于函数计算的 WebAPI 架构中与常规的 WebAPI 架构相比,客户端数据库未发生变化,主要的变化体现在服务器端,主要体现有:

1. 之前需要开发团队维护的路由模块以及健全模块都将接入服务商提供的API网关系统以及健全系统,开发团队无需再维护这两部分的代码,只需要维护相关的规则即可。

2. 在这样的结构下,服务器端的业务代码被拆分为一个个的函数,不同的函数就代表了不同的功能。

image.png

上图中可以看到,在函数计算的 WebAPI 架构中已经没用了服务器的存在这是因为 Serverless 的目的就是为了让使用者只关注自己的业务逻辑即可。也就是每个业务逻辑对应的函数,所以像安全问题、资源调度问题全部交给云厂商来负责。

相对于传统的项目而言,传统项目无论是否有用户访问,服务器都在运行当中,这将造成比较大的成本支出,而 Serverless 而言,只有在用户去用,发起请求时,函数才会被激活执行。并且按照调用次数收费,相对来说可以在有流量的时候才有支出,没有流量的时候就没用支出。成本会进行进一步的降低。

 

二、WebAPI的开发流程

image.png

第一步登录控制台并创建应用。创建应用的方式有两种:

1. 如果现有WebAPI应用,直接创建应用将代码打包上传。

2. 通过模板来创建应用,模板可以理解为相当于一个脚手架,可以快速的帮助完成一些基础配置,比如说权限、角色、网关一系列的配置。

image.png

完成创建应用后就是在应用下创建函数,主要支持事件函数、HTTP函数、模板函数,本次选择HTTP函数

image.png

创建完函数之后就开始具体开发业务逻辑,业务逻辑开发完之后就要配置一个触发器。因为是WebAPI的方式,所以触发器就是HTTP的请求,在这里可以指定域名来设定。

image.png

最后可以通过函数计算的监控来进行调试,以及服务上线之后使用量的监控情况

 

三、实际演示整个WebAPI的开发流程。

首先进入管理控制台,选择应用中心,基于模板创建应用

image.png

选择基于 Python 的应用,配置并部署,上述提到通过模板方式来创建应用相当于一个脚手架,会把底层所依赖的资源创建好,只有基于资源去开发函数就可以,可以提高开发效率。

image.png

创建 HTTP 函数,选择 PythonAPI,语言选择 Python3.0

请求方式选择 GET

image.png

 

通过这样的操作函数计算会生成函数,会有初始化的实现,就在这个基础之上进行开发。

首先先将 plain 改为 json,格式改为 Save lnvoke,返回的结果依然是 Hello worldi,现在就拥有了一个非常简单的 WebAPI

image.png

实现过程就是当用户按照触发器配置路径进行访问的时候就会触发写的函数代码的执行最终反馈一个结构给用户。

image.png

现在触发器的路径是自动生产的,现实情况下会选择自己的域名自己的路径。

image.png

进入到自定义域名

image.png

在域名下配置一个已有路径

image.png

比如说就用 webapi.json 路径,调用我们自己的函数,版本选择 LATEST,经过这样的配置当访问域名下路径的时候就会触发我们定义的函数

image.png

 

我们进行简单的修改

image.png

这样我们就完成了一个简单的 WebAPI

 

假设一个场景

image.png

用户去访问链接的时候,可以把文件的内容反馈给用户,首先我们先定一个基本依赖,handler是HCC触发器之后所运行的函数Environ,包含两部份内容,一部分是函数计算的上下文,上下文中存了当前用户的基本信息方便操作,第二部分是包含了 HCC 请求里的一些参数。

编写一些代码并执行

image.png

添加一些权限

image.png

就达到了预期。

整个逻辑梳理一下,首先配置了域名,域名下配置了 webapi.json 路径,当用户访问路径的时候就会触发到触发器,触发器就会调动函数,函数过程中访问了 OSS 当中的文件并把文件内容反馈给用户。这样一个完整的功能就实现了。

image.png

看一下函数调用情况

在函数指标的地方就可以看到最近一个小时所有的调用情况,比如说使用了多少内存、执行了多少时间以及调用成功的情况,有没有失败。

相关文章
|
12月前
|
Java 数据库 网络架构
菜鸟之路Day36一一Web开发综合案例(部门管理)
本文详细记录了基于Spring Boot的Web开发综合案例——部门管理功能的实现过程。从环境搭建到功能开发,涵盖数据库表设计、Spring Boot项目创建、依赖引入、配置文件设置以及Mapper、Service、Controller的基础结构构建。文章重点讲解了查询、删除、新增和修改部门信息的业务逻辑实现,遵循RESTful规范设计接口,并通过统一响应结果类`Result`优化前后端交互体验。借助Spring的IoC容器管理与MyBatis的SQL映射,实现了高效的数据操作与业务处理,最终完成部门管理的全功能开发。
414 12
|
11月前
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
570 102
|
10月前
|
供应链 API
案例分享:API如何助力小型电商实现月销售额翻倍
"悦居生活"通过接入支付、库存、营销及物流API,优化运营流程,解决库存滞后、营销低效、物流体验差等问题,实现库存周转率提升152%、会员复购率增长128%、月销售额突破32万元。
|
11月前
|
XML SQL 前端开发
菜鸟之路Day37一一Web开发综合案例(员工管理)
本文介绍了基于Web开发的员工管理综合案例,涵盖分页查询、条件分页查询、删除员工和新增员工四大功能模块。通过前后端交互,前端传递参数(如页码、每页记录数、查询条件等),后端使用MyBatis与PageHelper插件处理数据查询与操作。代码结构清晰,包括Controller层接收请求、Service层业务逻辑处理以及Mapper层数据访问,并结合XML动态SQL实现灵活的条件查询。此外,新增与删除功能分别通过POST与DELETE请求完成,确保系统功能完整且高效。
335 7
|
11月前
|
存储 前端开发 Java
菜鸟之路Day38一一Web开发综合案例(三)
本文介绍了Web开发中的文件上传与员工信息修改的综合案例,涵盖前端到后端的完整流程。重点讲解了阿里云OSS的集成,包括Bucket创建、密钥获取及SDK使用,并通过Spring Boot实现文件上传功能。同时,详细描述了员工信息查询与修改的操作逻辑,涉及Controller、Service和Mapper层代码实现。最后探讨了配置文件的优化,对比@Value与@ConfigurationProperties注解,展示了如何通过实体类批量注入配置参数,提升代码可维护性与灵活性。
300 1
|
Web App开发 前端开发 JavaScript
鸿蒙5开发宝藏案例分享---Web适配一多开发实践
这是一份实用的鸿蒙Web多设备适配开发指南,针对开发者在不同屏幕尺寸下的布局难题提供了解决方案。文章通过三大法宝(相对单位、媒体查询和窗口监听)详细介绍如何实现智能适配,并提供了多个实战案例,如宫格布局、对话框变形和自适应轮播图等。此外,还分享了调试技巧及工具推荐,帮助开发者快速上手并优化性能。最后鼓励读者实践探索,并提示更多官方资源等待发现。
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
466 0
|
JSON BI API
商城上货API接口的实战案例
在商城上货过程中,API接口扮演着至关重要的角色。以下是对商城上货API接口的实战分析,涵盖其主要功能、类型、安全性以及实战案例等方面。
|
Web App开发 人工智能 自然语言处理
WebChat:开源的网页内容增强问答 AI 助手,基于 Chrome 扩展的最佳实践开发,支持自定义 API 和本地大模型
WebChat 是一个基于 Chrome 扩展开发的 AI 助手,能够帮助用户理解和分析当前网页的内容,支持自定义 API 和本地大模型。
1576 1
|
XML 数据可视化 API
商品详情数据实战案例,API接口系列
淘宝商品详情数据在电商领域具有广泛的应用价值,而淘宝商品详情API接口则为开发者提供了获取这些数据的重要途径。通过合理利用这些接口和数据,可以提升业务效率、优化用户体验,为电商行业的发展注入新的活力。

热门文章

最新文章