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

本文涉及的产品
简介: 典型案例3:十分钟搭建弹性可扩展的 Web API
+关注继续查看

Serverless AI训练营:课时10:典型案例3:十分钟搭建弹性可扩展的 Web API(一)

课程地址:https://developer.aliyun.com/trainingcamp/1eeaedf056f14ad98e9986c31068e939?spm=a2c6h.26142516.J_2566289780.1.37c67cbd7bCsFs


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


内容介绍:

一、基本概念

二、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

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
16天前
|
开发框架 安全 数据库
Python Web开发框架:构建高效、可扩展的Web应用程序
引言: 在当今数字化时代,Web应用程序的需求不断增长。为了满足这种需求,Python提供了多种Web开发框架,它们能够帮助开发者快速构建高性能、安全、可扩展的Web应用程序。本文将介绍一些常用的Python Web开发框架,并探讨它们的特点、优势以及适用场景。
|
3月前
|
缓存 监控 数据库
使用Ruby构建可扩展的Web应用程序
在当今科技驱动的世界中,Web应用程序成为了企业和个人进行业务活动、提供服务和与用户互动的重要方式。而Ruby作为一种简洁、优雅且易于学习的编程语言,已经成为许多开发者的选择。本篇博客将介绍如何使用Ruby构建可扩展的Web应用程序。
37 0
|
3月前
|
人工智能 JSON Serverless
课时10:典型案例3:十分钟搭建弹性可扩展的 Web API(二)
典型案例3:十分钟搭建弹性可扩展的 Web API
1044 0
|
3月前
|
JSON 监控 Serverless
课时10:典型案例3:十分钟搭建弹性可扩展的 Web API
课时10:典型案例3:十分钟搭建弹性可扩展的 Web API
255 0
|
3月前
|
设计模式 前端开发 Java
使用Java MVC开发高效、可扩展的Web应用
本文将介绍如何使用Java MVC(Model-View-Controller)模式来开发高效、可扩展的Web应用。我们将深入探讨MVC模式的核心概念,以及如何在Java中实现这一体系结构。通过合理地分离业务逻辑、用户界面和数据处理,我们可以构建出易于维护和扩展的Web应用程序。
|
6月前
|
前端开发 JavaScript 测试技术
Islands Architecture:构建可扩展的 Web 前端应用
在当今的互联网时代,前端应用程序的复杂性不断增加,开发人员面临着如何构建可维护、可扩展的应用程序的挑战。在这个背景下,Islands Architecture 应运而生。Islands Architecture 是一种创新的前端架构模式,通过将应用程序拆分为多个独立的模块(岛屿),为开发人员提供了一种解决复杂性的新途径。 本篇博客将深入探讨 Islands Architecture,从优点和缺点、适用场景,以及它在知名项目中的具体应用方面进行详细阐述。我们将了解到 Islands Architecture 如何提高应用程序的可维护性和可扩展性,以及如何通过模块化的设计实现代码复用和并行开发。
66 0
|
11月前
|
XML 存储 JavaScript
Web阶段:第六章:XML可扩展标记语言
Web阶段:第六章:XML可扩展标记语言
Web阶段:第六章:XML可扩展标记语言
|
运维 资源调度 监控
典型案例 3:十分钟搭建弹性可扩展的 Web API |学习笔记
快速学习 典型案例 3:十分钟搭建弹性可扩展的 Web API
181 0
|
Web App开发 JavaScript 测试技术
Node.js构建可扩展的Web应用1
《Practical Node.js:Building Real-World Scalable Web Apps》【美】Azat Mardan(电子工业出版社) 安装node.js和NPM(node.js的包管理器) 官网地址:https://nodejs.
1357 0
热门文章
最新文章
相关产品
函数计算
云工作流
Serverless 应用引擎
推荐文章
更多