展开全部

主编推荐语

以一个完整的实战应用的开发过程作为主线,介绍如何以Quarkus为框架来开发微服务架构的云原生应用。

内容简介

书中介绍了微服务和云原生开发的各个方面,包括微服务的开发和测试以及在Kubernetes上的部署运行,还包括应用的可观察性、安全和服务调用的健壮性等非功能性需求。通过本书的介绍,读者可以了解一个真实的云原生应用的开发过程,并学会如何从头开始开发个人的应用。

本书适合从事Quarkus云原生微服务开发以及对云原生微服务感兴趣的Java开发人员阅读。

目录

  • 版权信息
  • 前言 PREFACE
  • 第1章 云原生微服务概述
  • 1.1 了解微服务架构
  • 1.1.1 了解单体应用存在的问题
  • 1.1.2 微服务架构概述
  • 1.1.3 云原生与微服务架构
  • 1.1.4 云原生的发展趋势
  • 1.2 了解容器化技术
  • 1.3 了解容器编排技术
  • 1.3.1 使用Docker进行简单的编排
  • 1.3.2 使用Docker Compose进行编排
  • 1.3.3 Kubernetes介绍
  • 1.4 Quarkus介绍
  • 第2章 Quarkus开发入门
  • 2.1 创建新的项目
  • 2.2 通用的应用开发流程
  • 2.2.1 使用开发模式
  • 2.2.2 调试应用
  • 2.2.3 实用的插件命令
  • 2.3 源代码组织
  • 2.4 实战应用介绍
  • 2.5 微服务的设计
  • 第3章 Quarkus的依赖注入
  • 3.1 CDI中的Bean及其作用域
  • 3.2 使用依赖注入
  • 3.2.1 了解不同的依赖注入方式
  • 3.2.2 注入@Dependent作用域的Bean
  • 3.2.3 获取注入点的元数据
  • 3.3 Bean的使用
  • 3.3.1 使用修饰符区分相同类型的Bean
  • 3.3.2 使用生产方法和字段创建Bean
  • 3.3.3 使用默认Bean和替代Bean
  • 3.3.4 在代码中选择Bean实例
  • 3.4 使用拦截器实现横切的业务逻辑
  • 3.5 使用事件进行消息传递
  • 3.5.1 同步的事件发布和处理
  • 3.5.2 异步的事件发布和处理
  • 3.5.3 使用修饰符来区分事件
  • 3.5.4 获取事件的元数据
  • 3.6 Quarkus的CDI实现
  • 3.6.1 共享代码中Bean的发现
  • 3.6.2 Bean的特殊处理
  • 3.6.3 客户端代理的使用
  • 第4章 Quarkus微服务的配置
  • 4.1 使用配置源
  • 4.1.1 Quarkus提供的默认配置源
  • 4.1.2 使用YAML格式的配置文件
  • 4.1.3 创建自定义的配置源
  • 4.1.4 生成Quarkus框架的配置文件
  • 4.1.5 使用外部配置源
  • 4.2 获取配置项的值
  • 4.3 使用类型安全的配置类
  • 4.3.1 绑定配置类中的字段
  • 4.3.2 绑定配置接口中的方法
  • 4.3.3 验证配置项的值
  • 4.4 通过配置Profile区分不同的环境
  • 4.5 配置项的类型转换
  • 4.6 Kubernetes上的Quarkus应用配置
  • 第5章 同步调用方式——餐馆微服务
  • 5.1 访问关系型数据库
  • 5.1.1 创建数据源
  • 5.1.2 使用Flyway迁移数据库模式
  • 5.1.3 使用JPA和Hibernate访问数据库
  • 5.1.4 使用Panache简化数据库访问
  • 5.1.5 服务层实现
  • 5.1.6 事务管理
  • 5.1.7 分页和排序
  • 5.2 发布REST API
  • 5.2.1 使用JAX-RS注解标注REST控制器
  • 5.2.2 使用JSON格式进行序列化
  • 5.3 微服务的单元测试
  • 5.3.1 数据访问层测试
  • 5.3.2 服务层测试
  • 5.3.3 REST API测试
  • 5.4 生成OpenAPI文档
  • 5.5 消费其他微服务的REST API
  • 5.6 使用Elasticsearch检索菜单
  • 5.7 使用Redis执行地理位置查询
  • 5.8 使用Quarkus测试资源
  • 第6章 异步消息传递——订单微服务实现
  • 6.1 发布gRPC API
  • 6.1.1 使用protobuf描述消息格式
  • 6.1.2 创建gPRC的接口定义
  • 6.1.3 实现gRPC API
  • 6.1.4 消费其他微服务的gRPC API
  • 6.2 异步消息传递
  • 6.2.1 异步消息传递概述
  • 6.2.2 事件、命令和消息的含义
  • 6.2.3 数据的最终一致性
  • 6.2.4 使用Apache Kafka传递消息
  • 6.2.5 事务性消息
  • 6.3 使用WebSocket
  • 第7章 反应式微服务——送货微服务实现
  • 7.1 反应式编程概述
  • 7.2 使用Mutiny进行反应式编程
  • 7.2.1 Mutiny中的事件
  • 7.2.2 创建Uni和Multi对象
  • 7.2.3 处理Multi和Uni中的元素
  • 7.2.4 订阅反应式流
  • 7.3 反应式数据访问
  • 7.4 开发反应式REST API
  • 7.4.1 使用RESTEasy
  • 7.4.2 创建反应式路由
  • 7.4.3 上传文件
  • 7.5 开发反应式gRPC
  • 7.6 使用反应式消息
  • 7.6.1 SmallRye反应式消息库的基本用法
  • 7.6.2 使用Kafka作为消息代理
  • 7.6.3 送货微服务的实现
  • 7.6.4 反应式消息的单元测试
  • 第8章 Quarkus应用部署
  • 8.1 应用打包方式
  • 8.1.1 使用JVM模式
  • 8.1.2 创建原生可执行文件
  • 8.2 创建容器镜像
  • 8.3 部署到Kubernetes
  • 8.3.1 发布Docker镜像
  • 8.3.2 容器镜像的标签
  • 8.3.3 创建Kubernetes部署资源
  • 8.3.4 完整的应用部署
  • 8.3.5 持续集成与部署
  • 第9章 应用的可观察性
  • 9.1 健康检查
  • 9.1.1 MicroProfile Health规范
  • 9.1.2 自定义的健康检查过程
  • 9.1.3 SmallRye Health的扩展功能
  • 9.2 分布式追踪
  • 9.2.1 分布式追踪的基本概念
  • 9.2.2 追踪JAX-RS和gRPC
  • 9.2.3 使用OpenTracing API
  • 9.3 性能指标数据
  • 9.3.1 使用Micrometer
  • 9.3.2 使用Prometheus
  • 9.4 日志管理与异常处理
  • 9.4.1 记录日志和相关配置
  • 9.4.2 使用MDC传递数据
  • 9.4.3 使用Sentry记录异常
  • 第10章 应用安全及弹性服务
  • 10.1 用户管理
  • 10.2 身份认证
  • 10.2.1 Quarkus的认证机制
  • 10.2.2 基于JWT的令牌认证
  • 10.2.3 使用MicroProfile JWT
  • 10.2.4 使用Keycloak
  • 10.3 用户授权管理
  • 10.4 弹性服务
  • 10.4.1 调用超时与重试
  • 10.4.2 回退值
  • 10.4.3 熔断器和隔板
  • 10.5 使用服务网格
  • 第11章 框架和服务的集成
  • 11.1 创建计划任务
  • 11.1.1 计划任务API
  • 11.1.2 使用Quartz
  • 11.2 实用功能与框架集成
  • 11.2.1 创建命令行程序
  • 11.2.2 使用字符串模板
  • 11.2.3 发送邮件
  • 11.2.4 Apache Camel集成
  • 11.3 使用GraphQL组合API
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。