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

简介: 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}`;
  }
}
相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
目录
相关文章
|
11月前
|
JavaScript 前端开发 API
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
9月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
361 19
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
11985 23
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
3838 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
Web App开发 JavaScript 前端开发
2024年5月node.js安装(winmac系统)保姆级教程
本篇博客为2024年5月版Node.js安装教程,适用于Windows和Mac系统。作者是一名熟悉JavaScript与Vue的大一学生,分享了Node.js的基本介绍、下载链接及简单安装步骤。安装完成后,通过终端命令`node -v`验证版本即可确认安装成功。欢迎关注作者,获取更多技术文章。
760 2
2024年5月node.js安装(winmac系统)保姆级教程
|
缓存 监控 JavaScript
Vue.js 框架下的性能优化策略与实践
Vue.js 框架下的性能优化策略与实践
|
缓存 负载均衡 JavaScript
构建高效后端服务:Node.js与Express框架实践
在数字化时代的浪潮中,后端服务的重要性不言而喻。本文将通过深入浅出的方式介绍如何利用Node.js及其强大的Express框架来搭建一个高效的后端服务。我们将从零开始,逐步深入,不仅涉及基础的代码编写,更会探讨如何优化性能和处理高并发场景。无论你是后端新手还是希望提高现有技能的开发者,这篇文章都将为你提供宝贵的知识和启示。
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
451 2
|
JavaScript 前端开发 开发者
JavaScript框架React vs. Vue:一场性能与易用性的较量
JavaScript框架React vs. Vue:一场性能与易用性的较量
403 0