×
前端Serverless 面向全栈的无服务器架构实战

前端Serverless 面向全栈的无服务器架构实战

1星价 ¥62.3 (7.0折)
2星价¥62.3 定价¥89.0
暂无评论
图文详情
  • ISBN:9787121409813
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:248
  • 出版时间:2021-05-01
  • 条形码:9787121409813 ; 978-7-121-40981-3

本书特色

适读人群 :前端架构师及对 serverless 方向感兴趣的前端工作人员。√ 揭秘云时代计算新范式,代表阿里集团下一代技术浪潮,贡献大量前端全栈场景落地实践。 √ 本书作者是前端|Serverless技术方向的领军人物,拥有多年应用实战与问题解决宝贵经验。 √ 以务实的全栈视角介绍Serverless架构理念|实现细节,帮助前端攻城狮显著提高工程能力。 √ 阿里腾讯字节跳动三方势力争相力荐本书提出的前端可独立实现的端到端交付一体化方案。

内容简介

本书以云原生(Cloud Native)技术为背景,讲述了Serverless的基本原理与实战应用。书中首先探讨Serverless与当前云计算技术和前端技术的关系,随后分别从Serverless的两大能力(FaaS和BaaS)展开,探讨了它们的历史由来和底层原理,并且结合实际应用场景,有针对性地提供了操作指南。本书从手动构建一套基于进程的FaaS架构开始,之后深入剖析云计算服务的内核,阐述其背后的原理和思想,从而让读者理解下一代软件架构的本质。本书主要从前端研发人员的视角介绍Serverless的原理及应用。相信无论是希望更多了解服务端技术的前端研发人员,还是已经涉足后端但希望更多了解云原生技术的全栈工程师,或是希望通过Serverless提升团队研发效率的架构师,都会从阅读本书中获益良多。

目录

**部分 Serverless 综述

第 1 章 什么是 Serverless . 2

1.1 Serverless 的价值 .. 3

1.2 Serverless 是一种理念 5

1.3 Serverless 一词的诞生 8

1.4 CNCF Serverless 白皮书 . 10

1.5 Serverless 与前端架构 .. 12

1.6 从前端到全栈 18

本章小结 .. 19

第 2 章 何时应用 Serverless . 20

2.1 Serverless 的优势与劣势 . 20

2.2 服务端的应用场景 . 22

2.2.1 多媒体处理 . 23

2.2.2 数据库变更捕获 .. 24

2.2.3 处理 IoT 请求 . 25

2.2.4 聊天机器人 . 26

2.2.5 计划任务 .. 27

2.2.6 通用后端服务 27

2.3 前端的应用场景 .. 28

2.3.1 Web 应用 . 29

2.3.2 SSR 应用 . 29

2.3.3 移动客户端应用 .. 31

2.3.4 小程序 31

本章小结 .. 31

第 3 章 Serverless 与服务端技术 . 32

3.1 应用分层架构 32

3.2 微服务架构 . 34

3.3 云计算 37

3.4 容器化 39

3.5 NoOps . 40

本章小结 .. 42

第 4 章 Serverless 与前端技术 . 43

4.1 Backend For Frontend 43

4.2 Node.js 44

4.3 TypeScript . 45

4.4 GraphQL 46

4.5 NoBackend .. 47

本章小结 .. 47

第二部分 FaaS 技术

第 5 章 理解 FaaS 50

5.1 FaaS 的特性 .. 50

5.1.1 函数由事件驱动 .. 50

5.1.2 无状态的函数 51

5.1.3 函数应当足够简单 . 51

5.2 FaaS 的优点 .. 52

5.2.1 更高的研发效率 .. 52

5.2.2 更低的部署成本 .. 53

5.2.3 更低的运维成本 .. 54

5.2.4 更低的学习成本 .. 54

5.2.5 更低的服务器费用 . 55

5.2.6 更灵活的部署方案 . 56

5.2.7 更高的系统安全性 . 56

5.3 FaaS 的缺点 .. 57

5.3.1 存在平台学习成本 . 57

5.3.2 较高的调试成本 .. 58

5.3.3 潜在的性能问题 .. 58

5.3.4 供应商锁定问题 .. 59

本章小结 .. 60

第 6 章 **个函数 . 61

6.1 从控制台创建 61

6.1.1 开通产品 .. 61

6.1.2 创建一个函数 62

6.1.3 调用函数 .. 64

6.2 基于命令行工具 .. 64

6.2.1 安装命令行工具 .. 64

6.2.2 身份认证配置 65

6.2.3 初始化 FaaS 项目 . 66

6.2.4 本地调试 .. 67

6.2.5 发布项目 .. 69

6.3 Serverless Framework. 70

6.3.1 初始化命令行工具 . 70

6.3.2 阿里云授权 . 71

6.3.3 开通配套服务 71

6.3.4 创建项目 .. 72

6.3.5 发布部署 .. 72

6.3.6 远程调用 .. 73

本章小结 .. 73

第 7 章 函数的生命周期 74

7.1 函数的定义 . 74

7.1.1 函数名 74

7.1.2 参数 . 75

7.2 函数的调试 . 76

7.2.1 本地调用 .. 76

7.2.2 在线调用 .. 77

7.3 函数的发布 . 77

7.3.1 配置 . 77

7.3.2 编译 . 78

7.3.3 部署 . 78

7.4 函数的更新 . 78

7.4.1 测试与发布 . 78

7.4.2 灰度与 A/B 测试 . 80

本章小结 .. 81

第 8 章 理解函数运行时 82

8.1 函数的触发 . 82

8.1.1 客户端触发器 83

8.1.2 实践:通过 Web API 调用函数 83

8.1.3 消息触发器 . 88

8.1.4 实践:通过消息触发函数 . 89

8.1.5 存储触发器 . 92

8.1.6 实践:生成上传图片的缩略图 .. 93

8.1.7 其他触发器 . 98

8.2 函数的执行 . 98

8.2.1 入口方法 .. 98

8.2.2 运行时 99

8.2.3 日志输出 100

8.2.4 实践:查询函数调用日志 .. 100

本章小结 101

第 9 章 自建简易 FaaS .. 102

9.1 基础能力 102

9.1.1 基于进程隔离运行函数 103

9.1.2 标准函数的执行能力 . 105

9.1.3 更安全的执行环境 .. 106

9.1.4 增加 HTTP 服务 . 111

9.2 进阶挑战 114

9.2.1 提升性能:通过进程池管理子进程的生命周期 .. 115

9.2.2 增强安全性:限制函数的执行时间 . 119

9.2.3 确保稳定性:对函数资源进行限制 . 122

9.2.4 提高效率:内置前端常用服务 128

本章小结 130

第三部分 BaaS 技术

第 10 章 BaaS 的由来 . 132

10.1 传统的 IT 时代:原始部落的刀耕火种 . 132

10.2 云计算时代:现代城市的集中供应 133

10.3 新一代基础设施:CaaS . 134

10.4 PaaS 的演进:BaaS . 136

10.5 Google Firebase 137

10.6 BaaS 的优势和价值 .. 142

本章小结 144

第 11 章 初始化 BaaS 应用 .. 145

11.1 注册小程序的账号. 145

11.2 配置云服务 146

11.3 初始化代码 148

11.4 添加 BaaS SDK .. 150

本章小结 151

第 12 章 数据的持久化 152

12.1 数据库设计原则 . 154

12.1.1 BSON 与数据类型 .. 154

12.1.2 三大范式与 NoSQL 数据库 .. 155

12.1.3 引用方式:规范数据模型 156

12.1.4 内嵌方式:高效数据模型 158

12.2 使用数据存储服务 159

12.2.1 通过控制台管理集合 .. 159

12.2.2 通过客户端查询数据 .. 162

12.2.3 在云函数中调用 . 162

12.2.4 数据权限管理 .. 165

12.2.5 实践:数据的 CURD . 165

本章小结 167

第 13 章 文件的存储与分发 .. 168

13.1 内容分发网络(CDN) . 168

13.1.1 性能优化的利器 . 168

13.1.2 CDN 加速的基本原理 169

13.1.3 文件存储与 CDN .. 170

13.2 使用文件存储服务 172

13.2.1 通过控制台管理文件 .. 172

13.2.2 文件的权限管理 . 173

13.2.3 使用 SDK 上传 . 174

13.2.4 实践:实现图片的上传和展示 . 174

本章小结 180

第 14 章 用户身份识别与授权 . 181

14.1 认证的演进 181

14.1.1 统一身份认证:OpenID 182

14.1.2 第三方授权登录:OAuth . 185

14.1.3 进一步完善:OIDC . 189

14.2 身份认证即服务:Auth0 .. 191

14.2.1 注册并创建租户 . 191

14.2.2 控制中心概览 .. 192

14.3 实践:实现基于 Auth0 的身份认证 . 195

14.3.1 创建并配置应用 . 195

14.3.2 创建登录页面 .. 196

14.3.3 启动 Web 服务 .. 198

14.3.4 实现登录与注销 . 198

14.3.5 用户体验改进 .. 202

14.4 实践:实现 GitHub 账号授权 .. 206

14.4.1 开通 GitHub OAuth . 206

14.4.2 配置第三方登录 . 208

14.4.3 测试与认证 209

14.5 扩展:详解 JWT 209

14.5.1 令牌的类型 210

14.5.2 构造一个令牌 .. 211

14.5.3 深入理解 JWT 原理 .. 213

14.5.4 JWT 的优势/劣势与应用场景 .. 218

本章小结 223



展开全部

作者简介

杨凯(亚顿),具有10年以上前后端全栈研发经验,曾为阿里巴巴天猫精灵前端负责人,参与了天猫精灵从0到1的建设过程。专注于前端架构及用户体验,对 BFF、微前端、Serverless 等技术如何在业务中规模化应用以提高研发和协作效率、改善用户体验,具有丰富的实践经验。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航