技术周刊(2019-02-11 Serverless)

1,377 阅读4分钟

前端技术周刊 2019-02-11

前端快爆

点评:了解一下国外怎么做轻应用的就行😂

  • Firefox 66 将默认阻止所有音频和视频的自动播放,同时提供了用户选择是否自动播放的界面。🔗

image.png

  • EcmaScript 2019 即将支持这些特性:Array.flat() 及Array.flatMap()、让对象也可以像数组一样用 for of 遍历的 Object.fromEntries 、单向清除空白符的 String.prototype.trimStart 及 String.prototype.trimEnd、可直接获得 Symbol 描述的 Symbol.prototype.description、省略 catch 回调形参的 try {} catch {}、修复 JSON 中 Unicode 边界问题的 Well Formed JSON 和 Subsume JSON、并修正了 Array.prototype.sort 和 Function.prototype.toString 的行为。🔗

点评:Chrome 73 开始这些就默认支持啦,可以先去试试。

  • V8 7.3 发布,默认支持了异步的堆栈展现,WebAssembly 的启动 和 await 更快了、支持了 ECMA 2019 的新特性 Object.fromEntries 和 String.prototype.matchAllAtomics.wake 重命名为 Atomics.notify🔗

百宝箱

  • React 16.8 发布,正式支持了 React Hooks。🔗

点评:Functional Component 党喜大普奔,Class Component 党面无表情,Vue 3 表示也要支持类似的思路

  • Vue 2.6 发布,使用了更新的 Slot 语法(将与 3.0 一致)以支持动态 Slot 命名,支持了基于 Promise 的异步异常捕捉,允许直接使用 Vue.observable,支持了 serverPrefetch 钩子以允许在服务器端预渲染包含异步请求内容的组件。🔗

  • flexsearch 是一个新一代的基于上下文进行全文搜索的库,相对同类库它可以轻松平衡内存消耗和搜索精确度,可在浏览器和 Node.js 端运行。

专题:Serverless

Serverless 是相对热门的体系架构思想,它拥有着快速迭代、部署简单、弹性缩扩容的特性,而把运维、部署的工作转嫁给平台来进行处理。
由于 Serverless 跟开源瓜葛相对较小,相关文章很容易沦为各个云服务的广告,这里尽量摘录平台无关的信息。

介绍

本文较为直观地描述了 Serverless 与 Monolith、微服务在架构上的异同,最后从落地角度比较了利弊。

针对 Serverless 的详尽介绍,包括 Faas 的状态管理、执行时间、延迟与冷启动、网关、工具链与开源的细节,并与 PaaS、容器化、NoOps 和存储过程服务进行了横向比较,最后则详述了利弊。

相对于上一篇,本介绍更偏应用,也更精简。简要介绍了 Serverless 的多个方面并附上了文献。包含它的优势,在企业中的落地情况,适合领域,Serverless 与类似服务的简要对比,服务提供商,及相关文献汇总。

主要是一个链接列表,集结了 Serverless 的云厂商服务与相关工具、资源。虽然全面,也暗藏了不少软文。

详细研究

17 年的论文,对 MindMup、Yubl 这 2 个早期介入 Serverless 架构的企业进行了案例分析,他们如何降低了 66% - 95% 的开支,最后讨论了 Serverless 将如何影响到软件体系架构的设计。

18 年的论文,描述了 AWS 上 Serverless 应用的主要困境:生命周期限制,I/O 瓶颈,缓慢的数据通信,没有完全为之定制的硬件,过度依赖云平台服务。

针对 Serverless 的冷启动,本文详细测量了终端到终端的不同云服务、不同语言、不同大小包体的冷启动时间,并链接了冷启动相关的文章。另:如果你使用 Node.js,可以用 ncc 把项目打包成单文件以更快启动。

本文列举了相关安全风险:函数事件数据注入,鉴权漏洞,不安全的部署配置,过大的函数或角色权限,不充分的监控和日志,不安全的三方库,不安全的秘密信息存储,拒绝服务与资源耗竭,函数操作流控制,不正确的异常处理和冗余的异常信息。

OpenLambda 是面向研究者的 FaaS 开源架构,本论文详细描述了构建这样一个应用在本地数据嵌合、JIT 优化、包体管理、状态管理、资金消耗和可移植性的相关挑战。


编辑:承虎 & 审阅:胡伯 & 专题供稿:承虎