书籍详情

Node.js无服务器应用实战 使用AWS Lambda和 Claudia.js

Node.js无服务器应用实战 使用AWS Lambda和 Claudia.js

作者:(塞尔维亚)斯洛博丹·斯托扬诺维奇

出版社:清华大学出版社

出版时间:2020-05-01

ISBN:9787302551874

定价:¥98.00

购买这本书可以去
内容简介
  ● 身份验证和数据库存储 ● 异步函数 ● 现实世界中的有趣示例 ● 开发无服务器微服务
作者简介
  Slobodan Stojanovi?和Aleksandar Simovi?是AWS Serverless Heroes和Claudia.js项目的核心贡献者,是Claudia Bot Builder的主要开发人员和维护人员,以及Node.js的无服务器应用的共同作者。 Aleksandar已经担任高级软件顾问和工程师超过七年,主攻但不限于JavaScript。他还涉足Swift、Python和Rust。他在贝尔格莱德工作,是JS贝尔格莱德会议的共同组织者。 Slobodan是Cloud Horizon的首席技术官,Cloud Horizon是一家位于蒙特利尔的软件开发工作室。他在贝尔格莱德工作,是JS贝尔格莱德会议的共同组织者。
目录

第Ⅰ部分  无服务器比萨店

第1章  使用Claudia的无服务器架构介绍  3

1.1  服务器和洗衣机  4

1.2  核心概念  4

1.3  无服务器的工作方式  6

1.4  无服务器实践  6

1.4.1  Maria姨妈的无服务器比萨店应用  7

1.4.2  一种常见的方法  7

1.4.3  无服务器方法  9

1.5  无服务器基础设施——AWS  10

1.6  什么是Claudia,应如何配置  14

1.7  何时以及在何处使用无服务器  16

1.8  本章小结  17

第2章  构建你的第一个无服务器API  18

2.1  制作比萨原料: 构建API  18

2.1.1  能买到哪种比萨  20

2.1.2  构建你的API  24

2.1.3  创建比萨订单  28

2.2  Claudia如何部署 你的API  32

2.3  流量控制:API Gateway 的工作原理  34

2.4  当无服务器API不是解决 方案时  35

2.5  试一试  35

2.5.1  练习  35

2.5.2  解决方案  36

2.6  本章小结  40

第3章  实现异步工作很容易,我们有.promise()方法  41

3.1  存储订单  41

3.2  承诺在30分钟内交付  46

3.3  试用你的API  49

3.4  从数据库获取订单  54

3.5  试一试  56

3.5.1  练习  56

3.5.2  解决方案  57

3.6  本章小结  60

第4章  比萨递送:外部连接  61

4.1  连接外部服务  61

4.2  连接到递送API  62

4.2.1  Some Like It Hot 

 Delivery API  63

4.2.2  创建第一个交付请求  64

4.3  异步通信的潜在问题  70

4.3.1  忘记返回Promise  71

4.3.2  不传递Promise的值  72

4.3.3  不将外部服务包装在Promise中  72

4.3.4  长异步操作的超时问题  73

4.4  试一试  75

4.4.1  练习  75

4.4.2  解决方案  75

4.5  本章小结  77

第5章  程序出错  79

5.1  调试无服务器应用  79

5.2  调试Lambda函数  81

5.3  剖析应用  84

5.4  试一试  87

5.4.1  练习  88

5.4.2  解决方案  88

5.5  本章小结  88

第6章  升级你的API  89

6.1  无服务器认证和授权  89

6.2  创建用户池和标识池  93

6.3  试一试  99

6.3.1  练习  99

6.3.2  解决方案  100

6.4  本章小结  102

第7章  处理文件  103

7.1  在无服务器应用中存储静态文件  103

7.2  生成缩略图  107

7.3  试一试  114

7.3.1  练习  115

7.3.2  解决方案  115

7.4  本书第Ⅰ部分结束:特殊练习  117

7.5  本章小结  117

第Ⅱ部分  来聊天吧

第8章  订购比萨只需要一条信息:聊天机器人  121

8.1  浏览器之外的比萨订购  121

8.2  来自Facebook Messenger的问候  122

8.3  你们有什么比萨  125

8.4  加快部署速度  128

8.5  Messenger模板  129

8.6  Claudia Bot Builder的工作方式  132

8.7  试一试  133

8.7.1  练习  134

8.7.2  解决方案  134

8.8  本章小结  134

第9章  异步和延迟响应  135

9.1  使聊天机器人具有交互性  135

9.2  增强聊天机器人结构的可扩展性  141

9.3  将聊天机器人连接到DynamoDB数据库  146

9.4  从聊天机器人获取用户位置  149

9.5  安排交付  153

9.6  集成简单的NLP  158

9.7  试一试  159

9.7.1  练习  159

9.7.2  解决方案  159

9.7.3  高级练习  161

9.8  本章小结  162

第10章  Jarvis,我的意思是Alexa,请帮我点一份比萨  163

10.1  现在不能说话:用Twilio发送SMS短信  164

10.1.1  SMS比萨列表  165

10.1.2  订购比萨  167

10.2  使用Alexa  172

10.2.1  准备skill  176

10.2.2  使用Alexa点比萨  180

10.3  试一试  183

10.3.1  练习  183

10.3.2  解决方案  184

10.4  第Ⅱ部分结束:特殊练习  184

10.5  本章小结  185

第Ⅲ部分  下一步

第11章  测试  189

11.1  测试服务器托管应用和无服务器应用  189

11.2  如何测试无服务器应用  191

11.3  前期准备  192

11.4  单元测试  195

11.5  模拟无服务器函数  199

11.6  集成测试  205

11.7  其他类型的自动化测试  209

11.8  更进一步:编写可测试的无服务器函数  210

11.9  试一试  214

11.9.1  练习  214

11.9.2  解决方案  215

11.10  本章小结  216

第12章  为比萨付款  217

12.1  付款交易  217

12.2  实现支付服务  222

12.3  有人能攻击支付服务吗  228

12.3.1  标准  229

12.3.2  权限  230

12.4  试一试  230

12.4.1  练习  230

12.4.2  解决方案  230

12.5  本章小结  232

第13章  将现有的Express.js应用程序迁移到AWS Lambda  233

13.1  Roberto叔叔的出租车应用  234

13.2  在AWS Lambda中运行Express.js应用  234

13.2.1  代理集成  237

13.2.2  serverless-express模块的工作方式  238

13.3  提供静态内容  239

13.4  连接到MongoDB  241

13.5  无服务器Express.js应用的限制  245

13.6  试一试  246

13.6.1  练习  247

13.6.2  解决方案  247

13.7  本章小结  248

第14章  迁移到无服务器  249

14.1  分析当前的无服务器应用  249

14.2  将现有应用迁移到无服务器  251

14.3  拥抱平台  253

14.3.1  提供静态文件  254

14.3.2  存储状态  254

14.3.3  日志  255

14.3.4  持续集成  256

14.3.5  管理环境:生产和开发  257

14.3.6  分享机密  258

14.3.7   VPC(虚拟私有云)  260

14.4  优化应用  261

14.4.1  捆绑或单用途功能  261

14.4.2  为Lambda函数选择合适的内存大小  261 

14.5  面对挑战  262

14.5.1  处理超时  262

14.5.2  冷启动  263

14.5.3  DDoS攻击  264

14.5.4  厂商绑定  265

14.6  试一试  266

14.7  本章小结  266

第15章  实际案例研究  267

15.1  CodePen  267

15.1.1  无服务器之前  268

15.1.2  无服务器迁移  269

15.1.3  基础设施成本  271

15.1.4  测试与挑战  272

15.2  MindMup  272

15.2.1  无服务器之前  273

15.2.2  无服务器迁移  275

15.2.3  基础设施成本  277

15.2.4  测试、日志和挑战  277

15.3  本章小结  279

附录A  安装和配置  281

附录B  配置Facebook Messenger、Twilio和Alexa  287

附录C  设置Stripe和MongoDB  309


猜您喜欢

读书导航