写点什么

利用 JS 在 AWS 上构建大规模弹性 Web 应用

  • 2015-08-07
  • 本文字数:1136 字

    阅读完需:约 4 分钟

JAWS 是一个高度可扩展的 Web 应用程序模板,由个人数据库提供商 Servant 开源。它使用 Amazon Web Services 提供的新工具( DynamoDB Lambda API Gateway AWS S3 )重新定义了如何使用 JS(后台 Node.js ,前端 jQuery )构建大规模弹性 Web 应用程序,其目标是:

  • 不使用服务器:永远不需要处理服务器扩展、部署、维护和监控方面的问题;
  • 组件隔离:JAWS 后台完全由 AWS Lambda 函数构成。每个函数可以单独开发、更新和配置;
  • 无限扩展:由 Lambda 函数构成的后台支持高并发,很容易实现跨区域冗余;
  • 成本尽可能低:Lambda 函数只有被调用时才会运行,而只有运行时才需要付费。

JAWS 主要包含如下四个部分:

  • API:JAWS 整个后台都是由 Lambda 函数构成,组织在api文件夹中。每个 API URL 指向一个 Lambda 函数。这样,每个 API Route 的代码都是完全隔离的,开发者可以针对特定的 API URL 开发、更新、配置、部署及维护代码。其作用相当于传统 MVC 结构中的“Controller”。
  • Liblib是一个 npm 模块,其中包含了可以在所有 Lambda 函数中重用的代码,可以认为是传统 MVC 结构中的“Model”。按照设计,Lambda 可以按需requrire它的代码,而不是全部代码,例如,只加载 User 模型需要的代码:var ModelUser=require('jaws-lib').models.User;
  • CLI:JAWS 提供了一个命令行接口,用于 Lambda 函数的测试和部署
  • Site:网站或客户端应用程序文件夹。为了缩短响应时间,静态资产可以上传到 AWS S3 上。

下一步,Servant 计划在 JAWS 中引入 AWS API Gateway Swagger 导入工具,为现有的 API 函数编写 swagger.json,向 CLI 添加 Swagger 导入命令。在同Hacker News 网友进行讨论的过程中,项目作者 ac360 指出:

下一步,开发者可以通过 Swagger 在 JSON 中定义 API,然后导入 AWS API Gateway,实现 API 的即时创建 / 更新。这应该会极大地缩短开发时间,简化 JAWS REST API 的构建。

这意味着,你仍然可以进行大规模的版本化发布,而且只需要简单地更新 Swagger 文件中的 JSON。这将使 JAWS 工作流有一个优美的结构,而且非常简单。

有许多网友都认为 JAWS 是一个不错的项目,ahallock 就是其中之一。不过,他希望 JAWS 提供 Lambda 与 RDS 的集成,因为他不想使用 DynamoDB。对此,ac360 回复说:

我一直计划增加 RDS 集成,尤其是 Aurora 支持。计划一直没变! 只是需要一些时间。

另外,ac360 指出:

我在 AWS Pop-Up Loft 上增加了一个 JAWS 优化章节……这个页面非常受欢迎。

感兴趣的读者可以安装试用并继续关注


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-08-07 08:002926
用户头像

发布了 1008 篇内容, 共 442.5 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

TiDB v7.1.0 跨业务系统多租户解决方案

PingCAP

MySQL 数据库 多租户 TiDB

全链路Trace全量存储-重造索引

乘云数字DataBuff

程序员如何利用低代码平台提升软件开发效率?

互联网工科生

程序员 低代码 PaaS 开发工具 开发效率

细数应用软件的缺陷分类

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号 8 月 PK 榜

开源软件下游分发合规性讨论 ——“心寄源”法律沙龙(2023第四期 | 总第九期)成功召开

开放原子开源基金会

开源

OpenAtom OpenHarmony携千行百业创新成果亮相HDC.Together 2023

开放原子开源基金会

开源 OpenHarmony

DTCC 2023,8月16日北京见!

KaiwuDB

KaiwuDB DTCC 2023

安徽阜阳是几线城市?有正规等级保护测评机构吗?

行云管家

等保 等级保护 等保测评机构 阜阳

融云荣获「2023 中国数字生态通信领军企业」奖

融云 RongCloud

互联网 通信 数字 融云 AIGC

如何快速完成PostgreSQL数据迁移?|NineData

NineData

postgresql 数据迁移 不停机发布 NineData 结构迁移

数仓中典型的几种不下推语句整改案例

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

大模型时代,如何重塑AI人才的培养?知名高校专家为您解答

飞桨PaddlePaddle

人工智能 paddle 百度飞桨

LED电子显示屏幕如何计算它的面积

Dylan

广告 交通 LED显示屏 全彩LED显示屏 体育

华为携手华中地区5大高校倡议共建湖北省高性能计算研究院建设

彭飞

校源行丨开放原子开源基金会赴厦门大学访问交流

开放原子开源基金会

开源 校源行

Nginx 基本原理与最小配置

timerring

nginx

天翼云加速落地紫金DPU实践应用,让算力供给更高效!

天翼云开发者社区

云计算

小灯塔系列-中小企业数字化转型系列研究——企业网盘测评报告

向量智库

微博评论高性能高可用计算架构

艾瑾行

架构训练营

it资产管理软件哪个好?既好用又安全?

行云管家

运维 IT运维 IT资产 IT资产管理

小灯塔系列-中小企业数字化转型系列研究——任务管理测评报告

向量智库

小灯塔系列-中小企业数字化转型系列研究——项目管理测评报告

向量智库

企业大数据分析系统可以给企业主带来哪些帮助?

夜雨微澜

Ethereum第一笔转账

FunTester

如何基于 ACK Serverless 快速部署 AI 推理服务

阿里巴巴云原生

阿里云 Serverless 容器 云原生 Serverless Kubernetes

“一日之际在于晨”,欢迎莅临WAVE SUMMIT上午场:Arm 虚拟硬件早餐交流会

飞桨PaddlePaddle

人工智能 paddle 百度飞桨 硬件生态

制造执行系统(MES)在新能源领域的应用

万界星空科技

新能源 新能源行业

TiDB Bot:用 Generative AI 构建企业专属的用户助手机器人

PingCAP

人工智能 数据库 AI TiDB

WAVE SUMMIT2023六大分会场同步开启,飞桨+文心大模型加速区域产业智能化!

飞桨PaddlePaddle

人工智能 paddle 百度飞桨

HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

HarmonyOS开发者

HarmonyOS

利用JS在AWS上构建大规模弹性Web应用_JavaScript_谢丽_InfoQ精选文章