Quarkus实战:专为Kubernetes而优化的Java解决方案
Alex Soto Bueno, Jason Porter
张晓宇, 刘岩, 宋净超 译
出版时间:2021年04月
页数:348
Quarkus针对Kubernetes进行了优化,旨在帮助你创建云优先、容器原生和无服务器能力的Java应用。在本书中,两位作者提供了在微服务开发和生产中安装Quarkus、与Quarkus交互和使用 Quarkus的详细解决方案。
本书向熟悉Java企业应用开发的中高级开发人员展示了如何快速上手Quarkus。你将了解如何在更广泛的Java生态系统中使用 Quarkus,并掌握如何使该框架满足自己的特殊需求。每一章都以问题-解决方案-讨论的格式编写。
你将学会:
● 通过在开发模式下启用实时重载来缩短开发周期。
● 连接到Kafka并与之通信。
● 使用响应式编程模型进行开发并轻松地为服务添加容错功能。
● 将应用程序构建为一个Kubernetes就绪的容器。
● 使用OpenAPI轻松地开发和测试原生Quarkus应用程序。
  1. 序言
  2. 前言
  3. 第1章 Quarkus概述
  4. 1.1 开发者友好
  5. 1.2 与Kubernetes集成
  6. 1.3 内存和 响应时间
  7. 1.4 Quarkus基本工作流程
  8. 第2章 搭建脚手架
  9. 2.1 用Maven搭建Quarkus项目的脚手架
  10. 2.2 用Gradle搭建Quarkus项目的脚手架
  11. 2.3 用Quarkus Start Coding网站搭建Quarkus项目的脚手架
  12. 2.4 用Visual Studio Code搭建Quarkus项目的脚手架
  13. 2.5 使用开发模式实时重载
  14. 2.6 提供静态资源
  15. 第3章 开发RESTful服务
  16. 3.1 创建一个简单的REST API端点
  17. 3.2 提取请求参数
  18. 3.3 使用HTTP响应状态码
  19. 3.4 绑定HTTP方法
  20. 3.5 启用跨源资源共享
  21. 3.6 使用响应式路由
  22. 3.7 拦截HTTP请求
  23. 3.8 使用SSL进行安全连接
  24. 第4章 配置
  25. 4.1 使用自定义属性配置应用程序
  26. 4.2 以程序化的方式访问配置属性
  27. 4.3 在外部覆盖配置值
  28. 4.4 使用profile进行配置
  29. 4.5 修改日志配置
  30. 4.6 添加应用程序日志
  31. 4.7 日志配置
  32. 4.8 使用自定义profile进行配置
  33. 4.9 创建自定义配置源
  34. 4.10 创建自定义转换器
  35. 4.11 配置值的分组
  36. 4.12 验证配置值
  37. 第5章 编程模型
  38. 5.1 对JSON进行编组和解组
  39. 5.2 对XML进行编组和解组
  40. 5.3 校验输入值和输出值
  41. 5.4 创建自定义校验
  42. 5.5 以程序化的方式校验对象
  43. 5.6 依赖注入
  44. 5.7 创建工厂类
  45. 5.8 执行对象生命周期事件
  46. 5.9 执行应用程序生命周期事件
  47. 5.10 使用命名限定符
  48. 5.11 使用自定义限定符
  49. 5.12 限定和配置注解
  50. 5.13 创建拦截器
  51. 5.14 行为测试
  52. 5.15 单元测试
  53. 5.16 创建mock对象
  54. 5.17 使用Mockito创建mock对象
  55. 5.18 用元注解将多个注解组合为一个注解
  56. 5.19 在测试代码前后执行代码
  57. 5.20 测试本地可执行文件
  58. 第6章 打包Quarkus应用程序
  59. 6.1 在命令行模式下运行
  60. 6.2 创建一个可运行的JAR文件
  61. 6.3 über-JAR打包
  62. 6.4 构建原生可执行文件
  63. 6.5 为JAR文件构建一个Docker容器
  64. 6.6 为原生可执行文件构建一个Docker容器
  65. 6.7 构建和容器化原生SSL应用程序
  66. 第7章 持久化
  67. 7.1 配置数据源
  68. 7.2 使用多个数据源
  69. 7.3 添加数据源的健康检查
  70. 7.4 定义事务的边界
  71. 7.5 设置事务的上下文
  72. 7.6 程序化事务控制
  73. 7.7 设置和修改事务超时时间
  74. 7.8 使用persistence.xml
  75. 7.9 不使用persistence.xml
  76. 7.10 使用不同JAR文件的实体
  77. 7.11 用Panache持久化数据
  78. 7.12 用Panache listAll方法查找所有实体条目
  79. 7.13 用Panache findById方法查找单个实体
  80. 7.14 用Panache find和list方法查找实体
  81. 7.15 用Panache count方法获取实体计数
  82. 7.16 用Panache page方法对实体列表进行分页
  83. 7.17 用Panache stream方法对结果进行流处理
  84. 7.18 测试Panache实体
  85. 7.19 使用数据访问对象和repository模式
  86. 7.20 使用 DynamoDB
  87. 7.21 使用MongoDB
  88. 7.22 用Panache连接MongoDB
  89. 7.23 使用Neo4j
  90. 7.24 使用Flyway
  91. 7.25 以程序化的方式使用Flyway
  92. 第8章 容错
  93. 8.1 自动重试
  94. 8.2 超时
  95. 8.3 使用舱壁模式进行过载保护
  96. 8.4 使用断路器模式避免故障传递
  97. 8.5 禁用容错功能
  98. 第9章 可观察性
  99. 9.1 使用自动化健康检查
  100. 9.2 创建自定义健康检查
  101. 9.3 暴露指标
  102. 9.4 创建指标
  103. 9.5 使用分布式跟踪
  104. 9.6 自定义分布式跟踪
  105. 第10章 与Kubernetes集成
  106. 10.1 构建和推送容器镜像
  107. 10.2 生成Kubernetes资源
  108. 10.3 生成带有健康检查的Kubernetes资源
  109. 10.4 在Kubernetes上部署服务
  110. 10.5 在OpenShift上部署服务
  111. 10.6 自动构建和部署容器镜像
  112. 10.7 通过Kubernetes配置应用程序
  113. 10.8 使用配置扩展通过Kubernetes配置应用程序
  114. 10.9 以程序化的方式与Kubernetes集群进行交互
  115. 10.10 测试Kubernetes Client交互
  116. 10.11 实现一个Kubernetes Operator
  117. 10.12 用Knative部署和管理无服务器工作负载
  118. 第11章 认证与授权
  119. 11.1 使用Elytron属性文件配置进行认证和授权
  120. 11.2 使用Elytron Security JDBC配置进行认证和授权
  121. 11.3 使用MicroProfile JWT进行授权
  122. 11.4 使用OpenId Connect进行授权和认证
  123. 11.5 使用OpenId Connect保护网络资源
  124. 第12章 应用程序密钥管理
  125. 12.1 使用Kubernetes中的secret存储数据
  126. 12.2 使用Vault安全地存储配置的secret
  127. 12.3 密码即服务
  128. 12.4 生成数据库密码并存入secret
  129. 12.5 使用Vault Kubernetes Auth进行认证服务
  130. 第13章 Quarkus REST客户端
  131. 13.1 使用JAX-RS Web客户端
  132. 13.2 使用MicroProfile REST客户端
  133. 13.3 实现CRUD客户端
  134. 13.4 操作header
  135. 13.5 使用REST客户端处理多部分消息
  136. 13.6 使用REST客户端配置SSL
  137. 第14章 使用Spring API开发Quarkus应用程序
  138. 14.1 使用Spring依赖注入
  139. 14.2 使用Spring Web
  140. 14.3 使用Spring Data JPA
  141. 14.4 使用Spring Security
  142. 14.5 使用Spring Boot属性
  143. 第15章 使用响应式编程模型
  144. 15.1 创建异步HTTP端点
  145. 15.2 异步流式数据传输
  146. 15.3 使用消息传递解耦组件
  147. 15.4 响应Apache Kafka消息
  148. 15.5 向Apache Kafka发送消息
  149. 15.6 序列化与反序列化
  150. 15.7 使用Kafka Streams API
  151. 15.8 使用AMQP
  152. 15.9 使用MQTT
  153. 15.10 使用响应式SQL进行查询
  154. 15.11 使用响应式SQL客户端进行插入
  155. 15.12 使用响应式MongoDB客户端
  156. 15.13 使用响应式Neo4j客户端
  157. 第16章 Quarkus的附加功能
  158. 16.1 使用Qute模板引擎创建模板
  159. 16.2 使用Qute渲染HTML
  160. 16.3 改Qute模板的位置
  161. 16.4 扩展Qute数据类
  162. 16.5 用OpenAPI描述端点
  163. 16.6 自定义OpenAPI规范
  164. 16.7 同步发送电子邮件
  165. 16.8 以响应式方式发送电子邮件
  166. 16.9 创建调度任务
  167. 16.10 使用应用程序数据缓存
  168. 附录A minikube
  169. 附录B Keycloak
  170. 附录C Knative
书名:Quarkus实战:专为Kubernetes而优化的Java解决方案
译者:张晓宇, 刘岩, 宋净超 译
国内出版社:机械工业出版社
出版时间:2021年04月
页数:348
书号:978-7-111-67763-5
原版书书名:Quarkus Cookbook
原版书出版商:O'Reilly Media
Alex Soto Bueno
 
Alex Soto Bueno是Red Hat的开发者体验总监,自2017年以来一直是Java Champion。
 
 
Jason Porter
 
Jason Porter是一名首席软件工程师,在Red Hat从事中间件工程服务、Arquillian、Quarkus和其他开发者体验项目。
 
 
购买选项
定价:119.00元
书号:978-7-111-67763-5
出版社:机械工业出版社