书籍详情
Node.js实战:分布式系统中的后端服务开发
作者:[美] Thomas Hunter 著,郭笑鹏 译
出版社:机械工业出版社
出版时间:2021-12-01
ISBN:9787111694496
定价:¥149.00
购买这本书可以去
内容简介
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,使用了高效、轻量级的事件驱动、非阻塞 I/O 模型,让JavaScript 运行在服务端的开发平台。本书主要介绍基于Node.js构建企业级后端服务,内容涉及Node.js和JavaScript的特性介绍、通信协议、扩展、可观测性、Docker容器、部署、容器编排、应用程序容错、分布式单元、应用程序安全性等内容。本书不是面向 Node.js新手的,适用于拥有Node.js 实战经验且熟练掌握JavaScript的开发人员。读完本书,你会了解在生产环境中运行 Node.js 服务所需的许多技术。
作者简介
暂缺《Node.js实战:分布式系统中的后端服务开发》作者简介
目录
第1章 为什么要用分布式9
1.1 JavaScript的单线程特性9
1.2 Node.js 速览13
1.3 Node.js的事件循环16
1.4 示例应用程序21
第2章 协议26
2.1 使用HTTP请求和响应27
2.2 使用GraphQL构建API外观39
2.3 使用gRPC进行RPC通信46
第3章 扩展54
3.1 集群模块54
3.2 使用HAProxy实现反向代理61
3.3 SLA和负载测试72
第4章 可观测性85
4.1 运行环境85
4.2 ELK与日志87
4.3 Graphite、StatsD和Grafana度量指标94
4.4 使用Zipkin进行分布式请求跟踪102
4.5 运行状况检查110
4.6 使用 Cabot 进行报警113
第5章 容器119
5.1 Docker简介121
5.2 容器化Node.js服务127
5.3 使用 Docker Compose进行基本编排135
5.4 内部Docker 注册表140
第6章 部署145
6.1 使用 Travis CI 构建流水线146
6.2 自动化测试151
6.3 部署Heroku162
6.4 模块、包和SemVer168
6.5 内部npm注册表179
第7章 容器编排184
7.1 Kubernetes 简介185
7.2 启动188
7.3 部署应用程序192
7.4 服务发现199
7.5 修改部署204
第8章 弹性210
8.1 Node.js 进程的终止210
8.2 构建无状态服务218
8.3 使用Memcached构建外部缓存224
8.4 数据库连接的弹性229
8.5 使用Knex进行Schema 迁移238
8.6 幂等性和消息传递弹性248
8.7 弹性测试255
第9章 分布式基元259
9.1 ID 生成问题259
9.2 Redis 简介262
9.3 Redis 操作263
9.4 寻求原子性272
9.5 事务274
9.6 Lua脚本276
第10章 安全性281
10.1 繁杂的代码库281
10.2 认识攻击面283
10.3 应用程序配置287
10.4 升级依赖项292
10.5 升级Node.js298
附录A 安装HAProxy303
附录B 安装Docker305
附录 C 安装Minikube和Kubectl307
1.1 JavaScript的单线程特性9
1.2 Node.js 速览13
1.3 Node.js的事件循环16
1.4 示例应用程序21
第2章 协议26
2.1 使用HTTP请求和响应27
2.2 使用GraphQL构建API外观39
2.3 使用gRPC进行RPC通信46
第3章 扩展54
3.1 集群模块54
3.2 使用HAProxy实现反向代理61
3.3 SLA和负载测试72
第4章 可观测性85
4.1 运行环境85
4.2 ELK与日志87
4.3 Graphite、StatsD和Grafana度量指标94
4.4 使用Zipkin进行分布式请求跟踪102
4.5 运行状况检查110
4.6 使用 Cabot 进行报警113
第5章 容器119
5.1 Docker简介121
5.2 容器化Node.js服务127
5.3 使用 Docker Compose进行基本编排135
5.4 内部Docker 注册表140
第6章 部署145
6.1 使用 Travis CI 构建流水线146
6.2 自动化测试151
6.3 部署Heroku162
6.4 模块、包和SemVer168
6.5 内部npm注册表179
第7章 容器编排184
7.1 Kubernetes 简介185
7.2 启动188
7.3 部署应用程序192
7.4 服务发现199
7.5 修改部署204
第8章 弹性210
8.1 Node.js 进程的终止210
8.2 构建无状态服务218
8.3 使用Memcached构建外部缓存224
8.4 数据库连接的弹性229
8.5 使用Knex进行Schema 迁移238
8.6 幂等性和消息传递弹性248
8.7 弹性测试255
第9章 分布式基元259
9.1 ID 生成问题259
9.2 Redis 简介262
9.3 Redis 操作263
9.4 寻求原子性272
9.5 事务274
9.6 Lua脚本276
第10章 安全性281
10.1 繁杂的代码库281
10.2 认识攻击面283
10.3 应用程序配置287
10.4 升级依赖项292
10.5 升级Node.js298
附录A 安装HAProxy303
附录B 安装Docker305
附录 C 安装Minikube和Kubectl307
猜您喜欢