展开全部

主编推荐语

以开发问题切入,全面讲解微服务架构。

内容简介

最近几年软件开发方法层出不穷,微服务作为一种主流的架构模式一直热度不减。为了帮助广大程序员们更好更快地理解微服务的概念,学习微服务在项目中的实践,本书全面阐述了微服务架构模式的特点、架构思路、设计理念、技术框架及具体的代码实战,以软件开发过程中遇到的各种疑难问题为切入点,逐步解析微服务架构是如何设计及解决这些问题的。

本书实用性强,是目前市面上关于微服务实践方面介绍得较为全面的书籍之一,适合想要了解和学习微服务的初、高级程序员和架构师等不同水平的读者阅读。

目录

  • 版权信息
  • 内容简介
  • 前言
  • 第1章 微服务概述
  • 1.1 微服务的概念
  • 1.2 微服务与SOA
  • 1.2.1 SOA的定义
  • 1.2.2 微服务与SOA的异同点
  • 1.2.3 服务调用设计
  • 1.3 单体式架构
  • 1.3.1 单体式架构概述
  • 1.3.2 单体式架构的痛点
  • 1.3.3 经典的MVC架构模式
  • 1.4 微服务架构概述
  • 1.4.1 微服务能解决的问题
  • 1.4.2 微服务架构的特点
  • 1.4.3 微服务架构的优势
  • 1.5 微服务的挑战
  • 1.5.1 使用微服务的难点
  • 1.5.2 微服务不是银弹
  • 第2章 微服务架构设计
  • 2.1 微服务架构的难点
  • 2.2 架构设计
  • 2.2.1 了解什么才是架构
  • 2.2.2 软件设计的3个阶段
  • 2.2.3 软件架构的目的与方法
  • 2.3 微服务的核心组件
  • 2.3.1 微服务的远程调用方式
  • 2.3.2 HTTP通信方法
  • 2.3.3 服务的注册与发现
  • 2.3.4 负载均衡
  • 第3章 Spring Cloud相关组件
  • 3.1 统一配置中心
  • 3.1.1 配置中心的难点
  • 3.1.2 Spring Cloud Config框架
  • 3.1.3 集成消息总线
  • 3.2 断路器
  • 3.2.1 服务熔断
  • 3.2.2 服务降级
  • 3.2.3 线程隔离
  • 3.2.4 请求合并
  • 3.2.5 请求缓存
  • 3.2.6 Hystrix注解
  • 3.2.7 Hystrix控制台
  • 3.3 健康监控
  • 3.4 分布式链路跟踪
  • 3.4.1 设计要素和术语
  • 3.4.2 Spring Cloud Sleuth链路监控
  • 第4章 契约测试
  • 4.1 契约测试概述
  • 4.2 契约测试与TDD
  • 4.2.1 TDD的定义
  • 4.2.2 TDD的价值
  • 4.2.3 TDD的种类
  • 4.2.4 契约测试也是TDD
  • 4.3 契约测试与独立交付
  • 4.3.1 独立交付
  • 4.3.2 集成测试
  • 4.3.3 真正的独立交付
  • 4.4 契约测试的相关技术与用法实战
  • 4.4.1 Mock测试
  • 4.4.2 消费者驱动的契约测试Pact
  • 4.4.3 Spring家族契约测试Spring Cloud Contract
  • 4.4.4 服务提供者的契约测试Moscow
  • 第5章 API网关
  • 5.1 API网关的意义
  • 5.2 API网关的职责
  • 5.2.1 请求路由
  • 5.2.2 请求过滤
  • 5.2.3 服务治理
  • 5.3 API网关的缺点
  • 5.4 使用API网关认证身份
  • 5.4.1 分清认证与授权
  • 5.4.2 API网关是否需要管理授权
  • 5.4.3 传统的Cookie和Session认证
  • 5.4.4 基于JSON的令牌JWT
  • 5.5 API网关技术实战
  • 5.5.1 Zuul网关
  • 5.5.2 Spring Cloud Gateway
  • 5.5.3 Spring Security
  • 5.5.4 Java-JWT
  • 第6章 BFF用于前端的后端
  • 6.1 回顾前后端分离发展史
  • 6.1.1 日渐臃肿的前端
  • 6.1.2 前端技术栈大爆发
  • 6.1.3 前后端分离的必然性
  • 6.1.4 分离后的挑战
  • 6.2 BFF诞生
  • 6.2.1 BFF的概念
  • 6.2.2 BFF的适用场景
  • 6.2.3 BFF模式
  • 6.3 基于RESTful的BFF
  • 6.4 基于GraphQL的BFF
  • 6.4.1 GraphQL的概念
  • 6.4.2 GraphQL在客户端的基本用法
  • 6.4.3 GraphQL与Java集成
  • 6.4.4 GraphQL与WebFlux集成
  • 第7章 领域驱动设计
  • 7.1 如何划分微服务
  • 7.1.1 微服务的划分方式
  • 7.1.2 DDD与服务划分
  • 7.2 领域驱动设计概述
  • 7.2.1 DDD的概念
  • 7.2.2 DDD解决了什么问题
  • 7.2.3 DDD适合小项目吗
  • 7.2.4 为了统一语言
  • 7.3 领域和子域
  • 7.4 领域事件
  • 7.4.1 领域事件的定义
  • 7.4.2 事件风暴
  • 7.4.3 用户旅程与事件风暴
  • 7.5 聚合和聚合根
  • 7.6 限界上下文
  • 7.7 六边形架构
  • 7.8 DDD的挑战
  • 第8章 Docker和K8s
  • 8.1 虚拟化技术
  • 8.2 Docker容器化
  • 8.2.1 Docker的概念
  • 8.2.2 容器的概念
  • 8.3 学习使用Docker
  • 8.3.1 Docker的安装方法
  • 8.3.2 构建Docker镜像
  • 8.3.3 运行Docker容器
  • 8.3.4 了解Docker的网络
  • 8.3.5 日志监控的利器ELK
  • 8.4 容器编排
  • 8.4.1 容器为什么需要编排
  • 8.4.2 Kubernetes的概念
  • 8.4.3 K8s的设计理念
  • 8.4.4 K8s的命名空间
  • 8.4.5 K8s与Docker
  • 8.4.6 K8s与Docker Swarm
  • 8.5 云商的支持
  • 第9章 持续集成、部署与交付
  • 9.1 持续集成(CI)
  • 9.1.1 传统的系统集成
  • 9.1.2 持续集成的概念
  • 9.1.3 微服务的CI
  • 9.2 持续交付(CD)
  • 9.2.1 CD的概念
  • 9.2.2 DevOps与持续交付
  • 9.2.3 软件质量门
  • 9.3 持续部署(CD)
  • 9.3.1 生产环境部署的难点
  • 9.3.2 蓝绿部署
  • 9.3.3 滚动部署
  • 9.3.4 灰度发布
  • 9.4 CI/CD工具
  • 9.4.1 Jenkins
  • 9.4.2 GoCD概述
  • 9.4.3 DevOps概述
  • 第10章 任务管理
  • 10.1 任务管理概述
  • 10.1.1 如何解决任务互斥
  • 10.1.2 任务调度平台
  • 10.2 实战演练
  • 10.2.1 Quartz
  • 10.2.2 XXL-JOB
  • 第11章 事务管理
  • 11.1 事务概述
  • 11.2 CAP理论
  • 11.3 BASE理论
  • 11.4 解决方案
  • 11.4.1 基于可靠消息的事务管理
  • 11.4.2 两段提交事务
  • 11.4.3 TCC模式事务管理
  • 11.5 对账是最后的屏障
  • 第12章 传统架构的微服务转型之路
  • 12.1 传统架构转型的难点
  • 12.2 识别领域与界限
  • 12.3 分块重构法
  • 12.4 代理隔离法
  • 12.5 转型不是一蹴而就的
展开全部

评分及书评

4.0
4个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。