Node.js实战:分布式系统中的后端服务开发
Thomas Hunter II
郭笑鹏 译
出版时间:2021年12月
页数:316
从初创公司到世界500强,大多数公司都喜欢使用Node.js来构建高性能的后端服务。工程师对Node.js有很高的评价,因为它有容易理解的API和大家熟悉的语法。在全球最大的包存储库的强力支持下,Node.js的生态必将更加繁荣。
在本书中,作者证明了Node.js在构建可观察、可扩展且有弹性的服务方面与传统的企业平台一样适用。中高级Node.js开发人员会发现,他们可以将应用程序代码和现代服务栈的各个层面结合起来。
通过学习本书,你可以:
● 了解为什么要运行多个相同的Node.js服务副本。
● 根据业务场景选择恰当的协议。
● 调整应用程序容器以便在生产环境中运行。
● 跟踪分布式系统中的错误,以确定哪个服务出错。
● 通过将工作转移给反向代理来简化应用程序代码并提高性能。
● 构建数据面板来监视服务运行状况和数据吞吐量。
● 了解在企业环境中操作时需要使用多种工具的原因。
  1. 前言
  2. 第1章 为什么要用分布式
  3. 1.1 JavaScript的单线程特性
  4. 1.2 Node.js速览
  5. 1.3 Node.js的事件循环
  6. 1.4 示例应用程序
  7. 第2章 协议
  8. 2.1 使用HTTP请求和响应
  9. 2.2 使用GraphQL构建API外观
  10. 2.3 使用gRPC进行RPC通信
  11. 第3章 扩展
  12. 3.1 集群模块
  13. 3.2 使用HAProxy实现反向代理
  14. 3.3 SLA和负载测试
  15. 第4章 可观测性
  16. 4.1 运行环境
  17. 4.2 ELK与日志
  18. 4.3 Graphite、StatsD和Grafana度量指标
  19. 4.4 使用Zipkin进行分布式请求跟踪
  20. 4.5 运行状况检查
  21. 4.6 使用Cabot进行报警
  22. 第5章 容器
  23. 5.1 Docker简介
  24. 5.2 容器化Node.js服务
  25. 5.3 使用Docker Compose进行基本编排
  26. 5.4 内部Docker注册表
  27. 第6章 部署
  28. 6.1 使用Travis CI构建流水线
  29. 6.2 自动化测试
  30. 6.3 部署Heroku
  31. 6.4 模块、包和SemVer
  32. 6.5 内部npm注册表
  33. 第7章 容器编排
  34. 7.1 Kubernetes简介
  35. 7.2 启动
  36. 7.3 部署应用程序
  37. 7.4 服务发现
  38. 7.5 修改部署
  39. 第8章 弹性
  40. 8.1 Node.js进程的终止
  41. 8.2 构建无状态服务
  42. 8.3 使用Memcached构建外部缓存
  43. 8.4 数据库连接的弹性
  44. 8.5 使用Knex进行Schema迁移
  45. 8.6 幂等性和消息传递弹性
  46. 8.7 弹性测试
  47. 第9章 分布式基元
  48. 9.1 ID生成问题
  49. 9.2 Redis简介
  50. 9.3 Redis操作
  51. 9.4 寻求原子性
  52. 9.5 事务
  53. 9.6 Lua脚本
  54. 第10章 安全性
  55. 10.1 繁杂的代码库
  56. 10.2 认识攻击面
  57. 10.3 应用程序配置
  58. 10.4 升级依赖项
  59. 10.5 升级Node.js
  60. 附录A 安装HAProxy
  61. 附录B 安装Docker
  62. 附录C 安装Minikube和Kubectl
书名:Node.js实战:分布式系统中的后端服务开发
作者:Thomas Hunter II
译者:郭笑鹏 译
国内出版社:机械工业出版社
出版时间:2021年12月
页数:316
书号:978-7-111-69449-6
原版书书名:Distributed Systems with Node.js
原版书出版商:O'Reilly Media
Thomas Hunter II
 
Thomas Hunter II已让Node.js在数十个企业中大放光彩,他现在在为一家致力于让Node.js更加安全的公司工作。他曾在数个关于Node.js和JavaScript的会议上发表讲话,并获得了JSNSD/JSNAD认证,同时他还是NodeSchool SF的组织者之一。
 
 
购买选项
定价:149.00元
书号:978-7-111-69449-6
出版社:机械工业出版社