serveless 思想 Midway.js 框架使用教程(二)

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: serveless 思想 Midway.js 框架使用教程(二)

补充 serveless 概念 (因为下面将创建一个 serveless 项目)


ServerlessQ,又叫无服务器。Serverless 强调的是一种架构思想和服务模型,让开发者无需关心基础设施(服务器等),而是专注到应用程序业务逻辑上。Serverless 也是下一代计算引擎。


Serverless 简化了云计算的编程,其代表了程序员生产力的又一次的变革,如编程语言从汇编Q时代演变为高级语言时代。-- 简化云编程: 克利关于 Serverless 计算的观点


Serverless,FaaS 和托管服务之间的关系


Serverless 与 FaaS (函数即服务) 通常被视为可以互换的术语,这并不准确。Serverless 是一种抽象层次更高的架构模式,而**“FaaS + BaaS”**只是 Serverless 这种架构模式的一种实现。


其中,FaaS 是一种特定类型的服务,例如 AWS Lambda,Google Cloud Functions,AzureFunctions,阿里云函数计算和腾讯云云函数等等,而 Baas (后端即服务)可以理解为其他类型的托管服务,例如数据库服务,对象存储服务和日志服务等等。


Serverless 具有的特质


这里叫特质,而非特性,因为这些属于 Serverless 架构的固有元素,我们无法像处理其它可塑特性那样做出调整。而特质是天然存在的。


●免运维: 不需要管理服务器主机或者服务器进程

●弹性伸缩: 根据负载进行自动规模伸缩与自动配置。伸缩范围零到无穷大。

●按需付费: 根据使用情况决定实际成本。

●高可用: 具备隐含的高可用性。


项目创建


使用npm init midway 查看完整的脚手架列表,选中某个项目后,Midway 会自动创建示例目录,代码,以及安装依赖。


npm init midway


1.png


这里我们选择fass-v3,输入项目名称,脚手架会帮我们创建一个简单的项目工程,等安装完成使用Vscode 打开项目。可以得到现在的工程目录


2.png


●src 整个 Midway 项目的源码目录,你之后所有的开发源码都将存放于此。

●test 项目的测试目录,之后所有的代码测试文件都在这里。

●package.json Node.js 项目基础的包管理配置文件

●tsconfig.json TypeScript 编译配置文件


启动项目


npm init dev


在浏览器中输入127.0.0.1:7001


3.png


function 文件


我们来看一下代码中的 src/function/hello.ts 文件


import {
  Provide,
  Inject,
  ServerlessTrigger,
  ServerlessTriggerType,
  Query,
} from '@midwayjs/decorator';
import { Context } from '@midwayjs/faas';
@Provide()
export class HelloHTTPService {
  @Inject()
  ctx: Context;
  @ServerlessTrigger(ServerlessTriggerType.HTTP, {
    path: '/',
    method: 'get',
  })
  async handleHTTPEvent2(@Query('name') name = 'midwayjs') {
    return `Hello ${name}`;
  }
}
相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
29天前
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
20天前
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
23 2
2024年5月node.js安装(winmac系统)保姆级教程
|
17天前
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
17天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
31 2
|
18天前
|
缓存 负载均衡 JavaScript
构建高效后端服务:Node.js与Express框架实践
在数字化时代的浪潮中,后端服务的重要性不言而喻。本文将通过深入浅出的方式介绍如何利用Node.js及其强大的Express框架来搭建一个高效的后端服务。我们将从零开始,逐步深入,不仅涉及基础的代码编写,更会探讨如何优化性能和处理高并发场景。无论你是后端新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
1月前
|
JavaScript 中间件 API
Node.js进阶:Koa框架下的RESTful API设计与实现
【10月更文挑战第28天】本文介绍了如何在Koa框架下设计与实现RESTful API。首先概述了Koa框架的特点,接着讲解了RESTful API的设计原则,包括无状态和统一接口。最后,通过一个简单的博客系统示例,详细展示了如何使用Koa和koa-router实现常见的CRUD操作,包括获取、创建、更新和删除文章。
46 4
|
2月前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的完美结合
【10月更文挑战第21天】本文将引导你走进Node.js和Express框架的世界,探索它们如何共同打造一个高效、可扩展的后端服务。通过深入浅出的解释和实际代码示例,我们将一起理解这一组合的魅力所在,并学习如何利用它们来构建现代Web应用。
56 1
|
21天前
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
30 0
|
1月前
|
Web App开发 JavaScript 前端开发
构建高效后端服务:Node.js与Express框架的实践
【10月更文挑战第33天】在数字化时代的浪潮中,后端服务的效率和可靠性成为企业竞争的关键。本文将深入探讨如何利用Node.js和Express框架构建高效且易于维护的后端服务。通过实践案例和代码示例,我们将揭示这一组合如何简化开发流程、优化性能,并提升用户体验。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
1月前
|
Web App开发 JavaScript 中间件
构建高效后端服务:Node.js与Express框架的融合之道
【10月更文挑战第31天】在追求快速、灵活和高效的后端开发领域,Node.js与Express框架的结合如同咖啡遇见了奶油——完美融合。本文将带你探索这一组合如何让后端服务搭建变得既轻松又充满乐趣,同时确保你的应用能够以光速运行。
30 0