转载至: https://www.jb51.net/books/680511.html
下载链接: 点我一键跳转到 下载链接
下载声明: 本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!
内容简介:
众所周知,Spring Cloud 是开发微服务架构系统的利器,企业对 Spring Cloud 方面的开发需求也非常旺盛。然而,虽然市面上介绍 Spring Cloud 的概念及基础入门的书籍较多,但这些书籍中的案例往往只是停留在简单的“Hello World”级别,缺乏可真正用于实战落地的指导。
本书与其他书籍不同,其中一个最大的特色是真正从实战角度出发,运用 Spring Cloud 技术来构建一个完整的微服务架构的系统。本书全面介绍 Spring Cloud 的概念、产生的背景,以及围绕 Spring Cloud 在开发微服务架构系统过程中所面临的问题时应当考虑的设计原则和解决方案。特别是在设计微服务架构系统时所面临的系统分层、服务测试、服务拆分、服务通信、服务注册、服务发现、服务消费、集中配置、日志管理、容器部署、安全防护、自动扩展等方面,给出了作者自己独特的见解。本书不仅介绍了微服务架构系统的原理、基础理论,还以一个真实的天气预报系统实例为主线,集成市面上主流的最新的实现技术框架,手把手地教读者如何来应用这些技术,创建一个完整的微服务架构系统。这样读者可以理论联系实践,从而让 Spring Cloud 真正地落地。
此外,本书不仅可以令读者了解微服务架构系统开发的完整流程,而且通过实战结合技术点的归纳,令读者知其然且知其所以然。本书所涉及的技术符合当前主流,并富有一定的前瞻性,可以有效提高读者在市场中的核心竞争力。
本书主要面向以 Spring 为核心的 Java EE 开发者,以及对 Spring Cloud 和微服务开发感兴趣的读者。
写作背景:
对于微服务知识的整理归纳,最早是在笔者的第一本书《分布式系统常用技术及案例分析》的微服务章节中,作为微服务的基础理论来展开的。由于篇幅限制,当时书中所涉及的案例深度和广度也比较有限。其后,笔者又在 GitHub 上,以开源方式撰写了《Spring Boot 教程》、《Spring Cloud 教程》系列教程(https://waylau.com/books/),为网友们提供了更加丰富的使用案例。在2017年,笔者应邀给慕课网做了一个关于 Spring Boot、Spring Cloud 实战的系列视频课程。视频课程上线后受到广大 Java 技术爱好者的关注,课程的内容也引起了热烈的反响。很多该课程的学员通过学习该课程,不但可以学会 Spring Boot 及 Spring Cloud 最新的周边技术栈,掌握如何运用上述技术进行整合、搭建框架的能力,熟悉单体架构及微服务架构的特点,并且最终实现掌握构建微服务架构的实战能力。最为重要的是提升了学员自身在市场上的价值。
众所周知,Spring Cloud 是开发微服务架构系统的利器,企业对 Spring Cloud 方面的开发需求也非常旺盛。然而,虽然市面上介绍 Spring Cloud 的概念及基础入门的书籍较多,但这些书籍中的案例往往 只是停留在简单的“Hello World”级别,缺乏可真正用于实战落地的指导。于是,笔者打算写一本可以完整呈现 Spring Cloud 实战的书籍。
笔者将以往系列课程中的技术做了总结和归纳,采用目前最新的 Spring Boot 及 Spring Cloud 技术栈(本书案例基于最新的Spring Boot 2.0.0.M4 及Spring Cloud Finchley.M2 编写)来重写了整个教学案例,并整理成书,希望能够弥补 Spring Cloud 在实战方面的空白,从而使广大 Spring Cloud 爱好者都能受益。
内容简介
前言
第1章 微服务概述
1.1 传统软件行业面临的挑战
1.2 常见分布式系统架构
1.3 单块架构如何进化为微服务架构
1.4 微服务架构的设计原则
1.5 如何来设计微服务系统
第2章 微服务的基石——Spring Boot
2.1 Spring Boot 简介
2.2 开启第一个 Spring Boot 项目
2.3 Hello World
2.4 如何搭建开发环境
2.5 Gradle 与 Maven 的抉择
第3章 Spring Boot 的高级主题
3.1 构建 RESTful 服务
3.2 Spring Boot 的配置详解
3.3 内嵌 Servlet 容器
3.4 实现安全机制
3.5 允许跨域访问
3.6 消息通信
3.7 数据持久化
3.8 实现热插拔(hot swapping)
第4章 微服务的测试
4.1 测试概述
4.2 测试的类型和范围
4.3 如何进行微服务的测试
第5章 微服务的协调者——Spring Cloud
5.1 Spring Cloud 简介
5.2 Spring Cloud 入门配置
5.3 Spring Cloud 的子项目介绍
第6章 服务拆分与业务建模
6.1 从一个天气预报系统讲起
6.2 使用Redis提升应用的并发访问能力
6.3 实现天气数据的同步
6.4 给天气预报一个“面子”
6.5 如何进行微服务的拆分
6.6 领域驱动设计与业务建模
第7章 天气预报系统的微服务架构设计与实现
7.1 天气预报系统的架构设计
7.2 天气数据采集微服务的实现
7.3 天气数据API微服务的实现
7.4 天气预报微服务的实现
7.5 城市数据API微服务的实现
第8章 微服务的注册与发现
8.1 服务发现的意义
8.2 如何集成 Eureka Server
8.3 如何集成 Eureka Client
8.4 实现服务的注册与发现
第9章 微服务的消费
9.1 微服务的消费模式
9.2 常见微服务的消费者
9.3 使用 Feign 实现服务的消费者
9.4 实现服务的负载均衡及高可用
第10章 API 网关
10.1 API 网关的意义
10.2 常见 API 网关的实现方式
10.3 如何集成Zuul
10.4 实现 API 网关
第11章 微服务的部署与发布
11.1 部署微服务将面临的挑战
11.2 持续交付与持续部署微服务
11.3 基于容器的部署与发布微服务
11.4 使用 Docker 来构建、运行、发布微服务
第12章 微服务的日志与监控
12.1 微服务日志管理将面临的挑战
12.2 日志集中化的意义
12.3 常见日志集中化的实现方式
12.4 Elastic Stack 实现日志集中化
第13章 微服务的集中化配置
13.1 为什么需要集中化配置
13.2 使用 Config 实现的配置中心
第14章 微服务的高级主题——自动扩展
14.1 什么是自动扩展
14.2 自动扩展的意义
14.3 自动扩展的常见模式
14.4 如何实现微服务的自动扩展
第15章 微服务的高级主题——熔断机制
15.1 什么是服务的熔断机制
15.2 熔断的意义
15.3 熔断与降级的区别
15.4 如何集成 Hystrix
15.5 实现微服务的熔断机制
第16章 微服务的高级主题——分布式消息总线
16.1 什么是消息总线
16.2 Spring Cloud Bus 设计原理
16.3 如何集成 Bus
16.4 实现配置信息的自动更新
附录A:本书所涉及到的技术及相关版本
参考资料