【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

利用 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:002352
用户头像

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

关注

评论

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

如何从零开始学Python:(5)如何处理列表中嵌套多个列表?

广之巅

Python 4月日更

想要做网页游戏怎么办 ?PixiJs 篇(二)

空城机

JavaScript 大前端 游戏 4月日更 pixi

飞桨分布式训练又推新品,4D混合并行可训千亿级AI模型

百度大脑

百度 AI 飞桨

yarn 集群的架构和工作原理

五分钟学大数据

hadoop YARN 4月日更

没想到【成功的计算机视觉应用】居然是这样部署的!

澳鹏Appen

人工智能 自动驾驶 机器学习 大数据 计算机视觉

乘“云”加速疾病诊断研发,亚马逊云科技新阶段“诊断开发计划”已开启!

亚马逊云科技 (Amazon Web Services)

低开销获取时间戳

捉虫大师

Java

运动的这两个价值,你知道吗?|靠谱点评

无量靠谱

纳尼?就凭这拿到了阿里巴巴50K的开发岗offer?

Java架构师迁哥

20 图 |6 千字|缓存实战(上篇)

悟空聊架构

redis 缓存 缓存穿透 缓存击穿 缓存雪崩

anyHouse - Android 仿写 ClubHouse

anyRTC开发者

android 音视频 WebRTC RTC 语音社交

大数据-Big Data

进击的梦清

大数据

还在写大量 if 来判断?试试用一个规则执行器来替代它

xcbeyond

4月日更

Ansible 简单使用

耳东@Erdong

4月日更

计算机原理学习笔记 Day12

穿过生命散发芬芳

计算机原理 4月日更

《专访阿里研究员吴翰清:云时代,如何建设更安全的互联网环境?》(采访提纲)

xiezhr

网络安全 阿里吴翰清

Hadoop-离线批处理技术

进击的梦清

大数据 hadoop 批处理

微服务的演化

箭上有毒

4月日更

百度大脑开放日福州站-智能制造与安全生产专场报名啦

百度大脑

百度大脑 开放日

亮相 LiveVideoStackCon,透析阿里云窄带高清的现在与未来

阿里云视频云

视频编解码 视频处理

警惕数据泄露!快给你的数据加上安全密钥!

亚马逊云科技 (Amazon Web Services)

不惧业务规模与复杂性,实现敏捷的云转型“三步走”就对了 | 云途专栏

亚马逊云科技 (Amazon Web Services)

牛P牛P!Github上堪称2021最全、最新Java面试题库到底有多香?

比伯

Java 程序员 架构 编程语言 技术宅

AIOps智能运维

进击的梦清

运维自动化 AIOPS 智能

2021年IT行业八大趋势预测

禅道项目管理

自动化 数字化 技术债 行业趋势

Storm-实时计算系统

进击的梦清

大数据 批处理 Storm

nginx 搭建简单图片服务器实现负载均衡

Java小咖秀

nginx 服务器 图片

「 社区建设功勋奖名单公布」—— InfoQ 写作平台【 1 周年盛典 】

InfoQ写作社区官方

1 周年盛典 热门活动

硬核,阿里自爆4月份Java题库答案(技术+人事),Github获赞76K

Java架构师迁哥

尴尬!看完阿里P7大佬自爆的Java面试复盘笔记,才知道自己才是井底之蛙

Java架构师迁哥

python 内置数据结构list、set、dict、tuple(三)

若尘

List 数据结构 set 元组 Python编程

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