响应式编程实战:构建弹性、可伸缩、事件驱动的分布式系统
Clement Escoffier, Ken Finnigan
任钢 译
出版时间:2024年01月
页数:285
“如果你像我一样对响应式编程的概念感到困惑,那么这本书是必读的。作者以非常流畅的方式介绍了响应式编程,让你知道响应式编程的来源,以及何时和如何使用它。”
——Antonio Goncalves
Java Champion

响应式系统和事件驱动架构正在成为应用程序设计中不可或缺的部分。响应式系统确保无论发生什么故障或错误,应用程序都具有响应性、可恢复性和弹性,而事件驱动架构为分布式系统提供了灵活的、可组合的选择。本书旨在帮助Java开发人员使用Quarkus 2.x(Kubernetes原生Java框架)将这些方法结合在一起。
Clement Escoffier和Ken Finnigan向你展示了如何利用事件驱动和响应式原理来构建健壮的分布式系统,减少延迟并提高吞吐量——特别是在微服务和无服务器应用程序中。你还将学习Quarkus的基础知识,在云平台中创建真正的Kubernetes原生应用程序。
通过学习本书,你将:
● 了解响应式系统和事件驱动架构的基本原理。
● 学会使用Quarkus构建响应式应用程序。
● 学会将Quarkus与Apache Kafka或AMQP结合起来构建响应式系统。
● 利用Quarkus开发可在事件驱动架构中使用消息的微服务。
● 学习如何将Apache Kafka等外部消息系统与Quarkus集成。
● 使用Quarkus、响应式系统和响应式编程概念构建应用程序。
  1. 前言
  2. 第一部分 响应式和Quarkus简介
  3. 第1章 响应式简介
  4. 1.1 响应式是什么
  5. 1.2 响应式软件并不是一件新鲜事
  6. 1.3 响应式的整体蓝图
  7. 1.4 为什么响应式架构如此适合云原生应用程序
  8. 1.5 响应式不是银弹
  9. 第2章 Quarkus简介
  10. 2.1 云平台中的Java
  11. 2.2 Quarkus方式
  12. 2.3 创建第一个Quarkus应用程序
  13. 2.4 10分钟讲明白Kubernetes下的Quarkus
  14. 2.5 谈谈原生程序
  15. 2.6 本章小结
  16. 第二部分 响应式和事件驱动的应用程序
  17. 第3章 分布式系统的弊端
  18. 3.1 什么是分布式系统
  19. 3.2 云原生和Kubernetes原生应用程序
  20. 3.3 浅析分布式系统的弊端
  21. 3.4 Kubernetes世界中分布式计算的谬误
  22. 3.5 时间问题:同步通信的缺点
  23. 3.6 本章小结
  24. 第4章 响应式系统的设计原则
  25. 4.1 响应式系统
  26. 4.2 命令和事件
  27. 4.3 目的地与空间解耦
  28. 4.4 时间解耦
  29. 4.5 非阻塞I/O的作用
  30. 4.6 响应式应用程序的剖析
  31. 4.7 本章小结
  32. 第5章 响应式编程:征服异步性
  33. 5.1 异步代码和模式
  34. 5.2 使用future
  35. 5.3 Project Loom:虚拟线程和载体线程
  36. 5.4 响应式编程
  37. 5.5 响应式流和对流量控制的需求
  38. 5.6 本章小结
  39. 第三部分 使用Quarkus构建响应式应用程序和系统
  40. 第6章 Quarkus:响应式引擎
  41. 6.1 命令式模型
  42. 6.2 响应式模型
  43. 6.3 响应式与命令式的统一
  44. 6.4 响应式引擎
  45. 6.5 响应式编程模型
  46. 6.6 Quarkus的事件驱动架构
  47. 6.7 本章小结
  48. 第7章 Mutiny:事件驱动的响应式编程API
  49. 7.1 为什么是另一个响应式编程库
  50. 7.2 是什么让Mutiny独一无二
  51. 7.3 在Quarkus中使用Mutiny
  52. 7.4 Uni和Multi
  53. 7.5 Mutiny和流量控制
  54. 7.6 观测事件
  55. 7.7 转换事件
  56. 7.8 链接异步操作
  57. 7.9 从故障中恢复
  58. 7.10 合并和连接数据项
  59. 7.11 选择数据项
  60. 7.12 收集数据项
  61. 7.13 本章小结
  62. 第8章 响应式与HTTP
  63. 8.1 HTTP请求的过程
  64. 8.2 RESTEasy Reactive
  65. 8.3 有什么好处
  66. 8.4 异步端点返回Uni
  67. 8.5 处理故障并定制响应
  68. 8.6 流数据
  69. 8.7 响应式分数
  70. 8.8 本章小结
  71. 第9章 响应式数据访问
  72. 9.1 数据访问的问题
  73. 9.2 与关系数据库的非阻塞交互
  74. 9.3 使用响应式ORM:Hibernate Reactive
  75. 9.4 NoSQL是什么
  76. 9.5 与Redis交互
  77. 9.6 与数据相关的事件和变更数据捕获
  78. 9.7 使用Debezium捕获变化
  79. 9.8 本章小结
  80. 第四部分 连接点
  81. 第10章 响应式消息传递:连接组织
  82. 10.1 从响应式应用程序到响应式系统
  83. 10.2 构建基于消息的应用程序
  84. 10.3 把所有的东西放在一起
  85. 10.4 本章小结
  86. 第11章 事件总线:核心支柱
  87. 11.1 Kafka或AMQP:选择正确的工具
  88. 11.2 用Kafka构建响应式系统
  89. 11.3 用AMQP构建响应式系统
  90. 11.4 本章小结
  91. 第12章 响应式REST客户端:用HTTP端点连接
  92. 12.1 与HTTP端点交互
  93. 12.2 响应式REST客户端
  94. 12.3 阻塞和非阻塞
  95. 12.4 处理故障
  96. 12.5 使用RESTEasy Reactive客户端构建API网关
  97. 12.6 在消息传递应用程序中使用REST客户端
  98. 12.7 本章小结
  99. 第13章 响应式和事件驱动架构的可观测性
  100. 13.1 为什么可观测性这么重要
  101. 13.2 消息传递与健康检查
  102. 13.3 消息传递与度量
  103. 13.4 消息传递与分布式追踪
  104. 13.5 本章小结
  105. 第14章 总结
  106. 14.1 一个简短的总结
  107. 14.2 这是全部吗
  108. 14.3 响应式的未来
  109. 14.4 结束即开始
书名:响应式编程实战:构建弹性、可伸缩、事件驱动的分布式系统
译者:任钢 译
国内出版社:机械工业出版社
出版时间:2024年01月
页数:285
书号:978-7-111-74356-9
原版书书名:Reactive Systems in Java
原版书出版商:O'Reilly Media
Clement Escoffier
 
Clement Escoffier是Red Hat的高级首席软件工程师和响应式架构师。从学术职位到管理层,他的职业生涯很丰富,现在是Quarkus和Vert.x开发人员。
 
 
Ken Finnigan
 
Ken Finnigan是Workday的高级首席软件工程师,负责可观测性解决方案的架构设计,同时还致力于Kubernetes原生开发的创新。
 
 
本书封面上的动物是非洲豹(Panthera pardus)。非洲豹以其伪装良好、有斑点的皮毛以及捕食能力而闻名。非洲豹是埋伏型捕食者,会在猎物有机会做出反应之前突袭猎物。它们以羚羊、瞪羚、猪、灵长类动物和家畜为食。拥有巨大力量的非洲豹能够捕捉10倍于自身重量的猎物。
非洲豹是IUCN(世界自然保护联盟)名单上的易危物种,因为它们的种群受到栖息地丧失和破碎化的威胁。人类是非洲豹的主要捕食者,因为非洲豹会被当作战利品来猎杀,或者因为攻击农民的牲畜而被杀死。
O'Reilly封面上的许多动物濒临灭绝,它们对世界都很重要。
购买选项
定价:109.00元
书号:978-7-111-74356-9
出版社:机械工业出版社