Spring Boot 2精髓+Spring Cloud与Docker微服务架构实战+Sp

Spring Boot 2精髓+Spring Cloud与Docker微服务架构实战+Sp pdf epub mobi txt 电子书 下载 2025

图书标签:
  • Spring Boot
  • Spring Cloud
  • 微服务
  • Docker
  • Java
  • 后端开发
  • 实战
  • 架构
  • 容器化
  • 云计算
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 一键团图书专营店
出版社: 电子工业出版社
ISBN:9787121328251
商品编码:20334183570

具体描述

 Spring Boot 2精髓:从构建小系统到架构分布式大系统  

 

 

作 译 者:李家智

出版时间:2017-10    千 字 数:460

版    次:01-01    页    数:384

开    本:16开

装    帧:

I S B N :9787121328251     

换    版:

所属分类:科技 >> 计算机 >> 网络与互联网

纸质书定价:¥79.0 

Spring Boot是目前Spring技术体系中炙手可热的框架之一,既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring技术体系的使用门槛,简化了Spring应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。本书系统介绍了Spring Boot 2的主要技术,侧重于两个方面,一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性;另一方面,当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、ZooKeeper、Elasticsearch等流行技术,使用Spring Session实现系统水平扩展,使用Spring Cache提高系统性能。

第1章 Java EE简介

1.1 Java EE

1.1.1 Java EE架构

1.1.2 Java EE的缺点

1.2 Spring

1.2.1 Spring IoC容器和AOP

1.2.2 Spring的缺点

1.3 Spring Boot

1.4 Hello,Spring Boot

1.4.1 创建一个Maven工程

1.4.2 增加Web支持

1.4.3 Hello Spring Boot示例

1.4.4 使用热部署

1.4.5 添加REST支持

第2章 Spring Boot基础

2.1 检查Java环境与安装Java

2.2 安装和配置Maven

2.2.1 Maven介绍

2.2.2 安装Maven

2.2.3 设置Maven

2.2.4 使用IDE设置Maven

2.2.5 Maven的常用命令

2.3 Spring核心技术

2.3.1 Spring的历史

2.3.2 Spring容器介绍

2.3.3 Spring AOP介绍

第3章 MVC框架

3.1 集成MVC框架

3.1.1 引入依赖

3.1.2 Web应用目录结构

3.1.3 Java包名结构

3.2 使用Controller

3.3 URL映射到方法

3.3.1 @RequestMapping

3.3.2 URL路径匹配

3.3.3 method匹配

3.3.4 consumes和produces

3.3.5 params和header匹配

3.4 方法参数

3.4.1 PathVariable

3.4.2 Model&ModelAndView

3.4.3 JavaBean接受参数

3.4.4 @RequsetBody接受JSON

3.4.5 MultipartFile

3.4.6 @ModelAttribute

3.4.7 @InitBinder

3.5 验证框架

3.5.1 JSR-303

3.5.2 MVC中使用@Validated

3.5.3 自定义校验

3.6 WebMvcConfigurer

3.6.1 拦截器

3.6.2 跨域访问

3.6.3 格式化

3.6.4 注册Controller

3.7 视图技术

3.7.1 使用Freemarker

3.7.2 使用Beetl

3.7.3 使用Jackson

3.7.4 Redirect和Forward

3.8 通用错误处理

3.9 @Service和@Transactional

3.9.1 声明一个Service类

3.9.2 事务管理

3.10 curl命令

第4章 视图技术

4.1 Beetl模板引擎

4.1.1 安装Beetl

4.1.2 设置定界符号和占位符

4.1.3 配置Beetl

4.1.4 groupTemplate

4.2 使用变量

4.2.1 全局变量

4.2.2 局部变量

4.2.3 共享变量

4.2.4 模板变量

4.3 表达式

4.3.1 计算表达式

4.3.2 逻辑表达式

4.4 控制语句

4.4.1 循环语句

4.4.2 条件语句

4.4.3 try catch

4.5 函数调用

4.6 格式化函数

4.7 直接调用Java

4.8 标签函数

4.9 HTML标签

4.10 安全输出

4.11 高级功能

4.11.1 配置Beetl

4.11.2 自定义函数

4.11.3 自定义格式化函数

4.11.4 自定义标签函数

4.11.5 自定义HTML标签

4.11.6 布局

4.11.7 AJAX局部渲染

4.12 脚本引擎

4.13 JSON技术

4.13.1 在Spring Boot中使用Jackson

4.13.2 自定义ObjectMapper

4.13.3 Jackson的三种使用方式

4.13.4 Jackson树遍历

4.13.5 对象绑定

4.13.6 流式操作

4.13.7 Jackson注解

4.13.8 集合的反序列化

4.14 MVC分离开发

4.14.1 集成WebSimulate

4.14.2 模拟JSON响应

4.14.3 模拟模板渲染

第5章 数据库访问

5.1 配置数据源

5.2 Spring BC Template

5.2.1 查询

5.2.2 修改

5.2.3 JdbcTemplate增强

5.3 BeetlSQL介绍

5.3.1 BeetlSQL功能概览

5.3.2 添加Maven依赖

5.3.3 配置BeetlSQL

5.3.4 SQLManager

5.3.5 使用SQL文件

5.3.6 Mapper

5.3.7 使用实体

5.4 SQLManager内置CRUD

5.4.1 内置的插入API

5.4.2 内置的更新(删除)API

5.4.3 内置的查询API

5.4.4 代码生成方法

5.5 使用sqlId

5.5.1 md文件命名

5.5.2 md文件构成

5.5.3 调用sqlId

5.5.4 翻页查询

5.5.5 TailBean

5.5.6 ORM查询

5.5.7 其他API

5.5.8 Mapper详解

5.6 BeetlSQL的其他功能

5.6.1 常用函数和标签

5.6.2 主键设置

5.6.3 BeetlSQL注解

5.6.4 NameConversion

5.6.5 锁

第6章 Spring Data JPA

6.1 集成Spring Data JPA

6.1.1 集成数据源

6.1.2 配置JPA支持

6.1.3 创建Entity

6.1.4 简化Entity

6.2 Repository

6.2.1 CrudRepository

6.2.2 PagingAndSortingRepository

6.2.3 JpaRepository

6.2.4 持久化Entity

6.2.5 Sort

6.2.6 Pageable和Page

6.2.7 基于方法名字查询

6.2.8 @Query查询

6.2.9 使用JPA Query

6.2.10 Example查询

第7章 Spring Boot配置

7.1 配置Spring Boot

7.1.1 服务器配置

7.1.2 使用其他Web服务器

7.1.3 配置启动信息

7.1.4 配置浏览器显示ico

7.2 日志配置

7.3 读取应用配置

7.3.1 Environment

7.3.2 @Value

7.3.3 @ConfigurationProperties

7.4 Spring Boot自动装配

7.4.1 @Configuration和@Bean

7.4.2 Bean条件装配

7.4.3 Class条件装配

7.4.4 Environment装配

7.4.5 其他条件装配

7.4.6 联合多个条件

7.4.7 Condition接口

7.4.8 制作Starter

第8章 部署Spring Boot应用

8.1 以jar文件运行

8.2 以war方式部署

8.3 多环境部署

8.4 @Profile注解

第9章 Testing单元测试

9.1 JUnit介绍

9.1.1 JUnit的相关概念

9.1.2 JUnit测试

9.1.3 Assert

9.1.4 Suite

9.2 Spring Boot单元测试

9.2.1 测试范围依赖

9.2.2 Spring Boot测试脚手架

9.2.3 测试Service

9.2.4 测试MVC

9.2.5 完成MVC请求模拟

9.2.6 比较MVC的返回结果

9.2.7 JSON比较

9.3 Mockito

9.3.1 模拟对象

9.3.2 模拟方法参数

9.3.3 模拟方法返回值

9.4 面向数据库应用的单元测试

9.4.1 @Sql

9.4.2 XLSUnit

9.4.3 XLSUnit的基本用法

第10章 REST

10.1 REST简介

10.1.1 REST风格的架构

10.1.2 使用“api”作为上下文

10.1.3 增加一个版本标识

10.1.4 标识资源

10.1.5 确定 Method

10.1.6 确定 Status

10.1.7 REST VS. WebService

10.2 Spring Boot集成REST

10.2.1 集成REST

10.2.2 @RestController

10.2.3 REST Client

10.3 Swagger UI

10.3.1 集成Swagger

10.3.2 Swagger规范

10.3.3 接口描述

10.3.4 查询参数描述

10.3.5 URI中的参数

10.3.6 头参数

10.3.7 表单参数

10.3.8 文件上传参数

10.3.9 整个请求体作为参数

10.4 模拟REST服务

第11章 MongoDB

11.1 安装MongoDB

11.2 使用shell

11.2.1 指定数据库

11.2.2 插入文档

11.2.3 查询文档

11.2.4 更新操作

11.2.5 删除操作

11.3 Spring Boot集成MongoDB

11.4 增删改查

11.4.1 增加API

11.4.2 根据主键查询API

11.4.3 查询API

11.4.4 修改API

11.4.5 删除API

11.4.6 使用MongoDatabase

11.4.7 打印日志

第12章 Redis

12.1 安装Redis

12.2 使用redis-cli

12.2.1 安全设置

12.2.2 基本操作

12.2.3 keys

12.2.4 Redis List

12.2.5 Redis Hash

12.2.6 Set

12.2.7 Pub/Sub

12.3 Spring Boot集成Redis

12.4 使用StringRedisTemplate

12.4.1 opsFor

12.4.2 绑定Key的操作

12.4.3 RedisConnection

12.4.4 Pub/Sub

12.5 序列化策略

12.5.1 默认序列化策略

12.5.2 自定义序列化策略

第13章 Elasticsearch

13.1 Elasticsearch介绍

13.1.1 安装Elasticsearch

13.1.2 Elasticsearch的基本概念

13.2 使用REST访问Elasticsearch

13.2.1 添加文档

13.2.2 根据主键查询

13.2.3 根据主键更新

13.2.4 根据主键删除

13.2.5 搜索文档

13.2.6 联合多个索引搜索

13.3 使用RestTemplate访问ES

13.3.1 创建Book

13.3.2 使用RestTemplate获取搜索结果

13.4 Spring Data Elastic

13.4.1 安装Spring Data

13.4.2 编写Entity

13.4.3 编写Dao

13.4.4 编写Controller

第14章 Cache

14.1 关于Cache

14.1.1 Cache的组件和概念

14.1.2 Cache的单体应用

14.1.3 使用专有的Cache服务器

14.1.4 使用一二级缓存服务器

14.2 Spring Boot Cache

14.3 注释驱动缓存

14.3.1 @Cacheable

14.3.2 Key生成器

14.3.3 @CachePut

14.3.4 @CacheEvict

14.3.5 @Caching

14.3.6 @CacheConfig

14.4 使用Redis Cache

14.4.1 集成Redis缓存

14.4.2 禁止缓存

14.4.3 定制缓存

14.5 Redis缓存原理

14.6 实现Redis两级缓存

14.6.1 实现TwoLevelCacheManager

14.6.2 创建RedisAndLocalCache

14.6.3 缓存同步说明

14.6.4 将代码组合在一起

第15章 Spring Session

15.1 水平扩展实现

15.2 Nginx的安装和配置

15.2.1 安装Nginx

15.2.2 配置Nginx

15.3 Spring Session

15.3.1 Spring Session介绍

15.3.2 使用Redis

15.3.3 Nginx+Redis

第16章 Spring Boot和ZooKeeper

16.1 ZooKeeper

16.1.1 ZooKeeper的数据结构

16.1.2 安装ZooKeeper

16.1.3 ZooKeeper的基本命令

16.1.4 领导选取演示

16.1.5 分布式锁演示

16.1.6 服务注册演示

16.2 Spring Boot集成ZooKeeper

16.2.1 集成Curator

16.2.2 Curator API

16.3 实现分布式锁

16.4 服务注册

16.4.1 通过ServiceDiscovery注册服务

16.4.2 获取服务

16.5 领导选取

第17章 监控Spring Boot应用

17.1 安装Acutator

17.2 跟踪

17.3 日志查看

17.4 线程栈信息

17.5 内存信息

17.6 查看URL映射

17.7 查看Spring容器管理的Bean

17.8 其他监控

17.9 编写自己的监控信息

17.9.1 编写HealthIndicator

17.9.2 自定义监控

 

作者:周立 (作者)

 

定价:69.00

 

出版社: 电子工业出版社; 第1版 

 

出版日期:2017年5月1日)

 

ISBN: 9787121312717

 

《Spring Cloud与Docker微服务架构实战》内容提要 作为一部帮助大家实现微服务架构落地的作品,《Spring Cloud与Docker微服务架构实战》覆盖了微服务理论、微服务开发框架(Spring Cloud)以及运行平台(Docker)三大主题。全书可分为三部分,第1章对微服务架构进行了系统的介绍;第2-11章使用Spring Cloud开发框架编写了一个“电影售票系统”;第12-14章则讲解了如何将微服务应用运行在Docker之上。全书Demo驱动学习,以连贯的场景、具体的代码示例来引导读者学习相关知识,终使用特定的技术栈实现微服务架构的落地。

 

 

1 微服务架构概述 1

 

1.1 单体应用架构存在的问题1

 

1.2 如何解决单体应用架构存在的问题3

 

1.3 什么是微服务3

 

1.4 微服务架构的优点与挑战5

 

1.4.1 微服务架构的优点5

 

1.4.2 微服务架构面临的挑战5

 

1.5 微服务设计原则6

 

1.6 如何实现微服务架构7

 

1.6.1 技术选型7

 

1.6.2 架构图及常用组件8

 

2 微服务开发框架--Spring Cloud 10

 

2.1 Spring Cloud 简介10

 

2.2 Spring Cloud 特点10

 

2.3 Spring Cloud 版本11

 

2.3.1 版本简介11

 

2.3.2 子项目一览12

 

2.3.3 Spring Cloud/Spring Boot 版本兼容性13

 

3 开始使用Spring Cloud 实战微服务 14

 

3.1 Spring Cloud 实战前提14

 

3 开始使用Spring Cloud 实战微服务 14

 

3.1 Spring Cloud 实战前提14

 

3.1.1 技术储备14

 

3.1.2 工具及软件版本15

 

3.2 服务提供者与服务消费者16

 

3.3 编写服务提供者16

 

3.3.1 手动编写项目17

 

3.3.2 使用Spring Initializr 快速创建Spring Boot 项目21

 

3.4 编写服务消费者23

 

3.5 为项目整合Spring Boot Actuator 25

 

3.6 硬编码有哪些问题27

 

4 微服务注册与发现29

 

4.1 服务发现简介29

 

4.2 Eureka 简介31

 

4.3 Eureka 原理31

 

4.4 编写Eureka Server 33

 

4.5 将微服务注册到Eureka Server 上35

 

4.6 Eureka Server 的高可用36

 

4.6.1 将应用注册到Eureka Server 集群上38

 

4.7 为Eureka Server 添加用户认证39

 

4.7.1 将微服务注册到需认证的Eureka Server 40

 

4.8 理解Eureka 的元数据41

 

4.8.1 改造用户微服务41

 

4.8.2 改造电影微服务41

 

4.9 Eureka Server 的REST 端点43

 

4.9.1 示例45

 

4.9.2 注销微服务实例49

 

4.10 Eureka 的自我保护模式51

 

4.11 多网卡环境下的IP 选择52

 

4.11.1 忽略指定名称的网卡52

 

4.11.2 使用正则表达式,指定使用的网络地址52

 

4.11.3 只使用站点本地地址53

 

4.11.4 手动指定IP 地址53

 

4.12 Eureka 的健康检查53

 

5 使用Ribbon 实现客户端侧负载均衡 56

 

5.1 Ribbon 简介56

 

5.2 为服务消费者整合Ribbon 57

 

5.3 使用Java 代码自定义Ribbon 配置60

 

5.4 使用属性自定义Ribbon 配置63

 

5.5 脱离Eureka 使用Ribbon 64

 

6 使用Feign 实现声明式REST 调用66

 

6.1 Feign 简介67

 

6.2 为服务消费者整合Feign 67

 

6.3 自定义Feign 配置69

 

6.4 手动创建Feign 72

 

6.4.1 修改用户微服务72

 

6.4.2 修改电影微服务76

 

6.5 Feign 对继承的支持78

 

6.6 Feign 对压缩的支持79

 

6.7 Feign 的日志80

 

6.8 使用Feign 构造多参数请求82

 

6.8.1 GET 请求多参数的URL 82

 

6.8.2 POST 请求包含多个参数83

 

7 使用Hystrix 实现微服务的容错处理 85

 

7.1 实现容错的手段85

 

7.1.1 雪崩效应85

 

7.1.2 如何容错86

 

7.2 使用Hystrix 实现容错88

 

7.2.1 Hystrix 简介88

 

7.2.2 通用方式整合Hystrix 89

 

7.2.3 Hystrix 断路器的状态监控与深入理解91

 

7.2.4 Hystrix 线程隔离策略与传播上下文93

 

7.2.5 Feign 使用Hystrix 96

 

7.3 Hystrix 的监控101

 

7.3.1 Feign 项目的Hystrix 监控102

 

7.4 使用Hystrix Dashboard 可视化监控数据103

 

7.5 使用Turbine 聚合监控数据105

 

7.5.1 Turbine 简介105

 

7.5.2 使用Turbine 监控多个微服务105

 

7.5.3 使用消息中间件收集数据108

 

8 使用Zuul 构建微服务网关 113

 

8.1 为什么要使用微服务网关113

 

8.2 Zuul 简介115

 

8.3 编写Zuul 微服务网关115

 

8.4 Zuul 的路由端点118

 

8.5 Zuul 的路由配置详解119

 

8.6 Zuul 的安全与Header 122

 

8.6.1 敏感Header 的设置122

 

8.6.2 忽略Header 123

 

8.7 使用Zuul 上传文件124

 

8.7.1 编写文件上传微服务124

 

8.8 Zuul 的过滤器127

 

8.8.1 过滤器类型与请求生命周期127

 

8.8.2 编写Zuul 过滤器128

 

8.8.3 禁用Zuul 过滤器130

 

8.9 Zuul 的容错与回退130

 

8.9.1 为Zuul 添加回退131

 

8.10 Zuul 的高可用133

 

8.10.1 Zuul 客户端也注册到了Eureka Server 上133

 

8.10.2 Zuul 客户端未注册到Eureka Server 上133

 

8.11 使用Sidecar 整合非JVM 微服务134

 

8.11.1 编写Node.js 微服务135

 

8.11.2 编写Sidecar 136

 

8.11.3 Sidecar 的端点138

 

8.11.4 Sidecar 与Node.js 微服务分离部署139

 

8.11.5 Sidecar 原理分析139

 

9 使用Spring Cloud Config 统一管理微服务配置 142

 

9.1 为什么要统一管理微服务配置142

 

9.2 Spring Cloud Config 简介143

 

9.3 编写Config Server 144

 

9.3.1 Config Server 的端点145

 

9.4 编写Config Client 147

 

9.5 Config Server 的Git 仓库配置详解149

 

9.6 Config Server 的健康状况指示器152

 

9.7 配置内容的加解密153

 

9.7.1 安装JCE 153

 

9.7.2 Config Server 的加解密端点153

 

9.7.3 对称加密153

 

9.7.4 存储加密的内容154

 

9.7.5 非对称加密155

 

9.8 使用/refresh 端点手动刷新配置155

 

9.9 使用Spring Cloud Bus 自动刷新配置157

 

9.9.1 Spring Cloud Bus 简介157

 

9.9.2 实现自动刷新158

 

9.9.3 局部刷新159

 

9.9.4 架构改进159

 

9.9.5 跟踪总线事件160

 

9.10 Spring Cloud Config 与Eureka 配合使用161

 

9.11 Spring Cloud Config 的用户认证162

 

9.11.1 Config Client 连接需用户认证的Config Server 163

 

9.12 Config Server 的高可用164

 

9.12.1 Git 仓库的高可用164

 

9.12.2 RabbitMQ 的高可用164

 

9.12.3 Config Server 自身的高可用165

 

10 使用Spring Cloud Sleuth 实现微服务跟踪167

 

10.1 为什么要实现微服务跟踪167

 

10.2 Spring Cloud Sleuth 简介168

 

10.3 整合Spring Cloud Sleuth 170

 

10.4 Spring Cloud Sleuth 与ELK 配合使用172

 

10.5 Spring Cloud Sleuth 与Zipkin 配合使用176

 

10.5.1 Zipkin 简介176

 

10.5.2 编写Zipkin Server 176

 

10.5.3 微服务整合Zipkin 178

 

10.5.4 使用消息中间件收集数据181

 

10.5.5 存储跟踪数据183

 

11 Spring Cloud 常见问题与总结 186

 

11.1 Eureka 常见问题186

 

11.1.1 Eureka 注册服务慢186

 

11.1.2 已停止的微服务节点注销慢或不注销187

 

11.1.3 如何自定义微服务的Instance ID 188

 

11.1.4 Eureka 的UNKNOWN 问题总结与解决189

 

11.2 Hystrix/Feign 整合Hystrix 后首次请求失败190

 

11.2.1 原因分析191

 

11.2.2 解决方案191

 

11.3 Turbine 聚合的数据不完整191

 

11.3.1 解决方案192

 

11.4 Spring Cloud 各组件配置属性193

 

11.4.1 Spring Cloud 的配置193

 

11.4.2 原生配置193

 

11.5 Spring Cloud 定位问题思路总结194

 

12 Docker 入门 197

 

12.1 Docker 简介197

 

12.2 Docker 的架构197

 

12.3 安装Docker 199

 

12.3.1 系统要求199

 

12.3.2 移除非官方软件包199

 

12.3.3 设置Yum 源199

 

12.3.4 安装Dokcer 200

 

12.3.5 卸载Docker 201

 

12.4 配置镜像加速器201

 

12.5 Docker 常用命令202

 

12.5.1 Docker 镜像常用命令202

 

12.5.2 Docker 容器常用命令204

 

13 将微服务运行在Docker 上209

 

13.1 使用Dockerfile 构建Docker 镜像209

 

13.1.1 Dockerfile 常用指令210

 

13.1.2 使用Dockerfile 构建镜像215

 

13.2 使用Docker Registry 管理Docker 镜像217

 

13.2.1 使用Docker Hub 管理镜像217

 

13.2.2 使用私有仓库管理镜像219

 

13.3 使用Maven 插件构建Docker 镜像220

 

13.3.1 快速入门221

 

13.3.2 插件读取Dockerfile 进行构建222

 

13.3.3 将插件绑定在某个phase 执行223

 

13.3.4 推送镜像224

 

13.4 常见问题与总结226

 

14 使用Docker Compose 编排微服务227

 

14.1 Docker Compose 简介227

 

14.2 安装Docker Compose 227

 

14.2.1 安装Compose 228

 

14.2.2 安装Compose 命令补全工具228

 

14.3 Docker Compose 快速入门229

 

14.3.1 基本步骤229

 

14.3.2 入门示例229

 

14.3.3 工程、服务、容器230

 

14.4 docker-pose.yml 常用命令230

 

14.4.1 build 230

 

14.4.2 mand 231

 

14.4.3 dns 231

 

14.4.4 dns_search 231

 

14.4.5 environment 231

 

14.4.6 env_file 232

 

14.4.7 expose 232

 

14.4.8 external_links 232

 

14.4.9 image 232

 

14.4.10 links 232

 

14.4.11 works 233

 

14.4.12 work_mode 233

 

14.4.13 ports 233

 

14.4.14 volumes 233

 

14.4.15 volumes_from 234

 

14.5 docker-pose 常用命令234

 

14.5.1 build 234

 

14.5.2 help 235

 

14.5.3 kill 235

 

14.5.4 logs 235

 

14.5.5 port 235

 

14.5.6 ps 235

 

14.5.7 pull 235

 

14.5.8 rm 236

 

14.5.9 run 236

 

14.5.10 scale 236

 

14.5.11 start 236

 

14.5.12 stop 236

 

14.5.13 up 236

 

14.6 Docker Compose 网络设置237

 

14.6.1 基本概念237

 

14.6.2 更新容器237

 

14.6.3 links 238

 

14.6.4 指定自定义网络238

 

14.6.5 配置默认网络239

 

14.6.6 使用已存在的网络239

 

14.7 综合实战:使用Docker Comose 编排Spring Cloud 微服务240

 

14.7.1 编排Spring Cloud 微服务240

 

14.7.2 编排高可用的Eureka Server 243

 

14.7.3 编排高可用Spring Cloud 微服务集群及动态伸缩245

 

14.8 常见问题与总结247

 

后记

 

Spring Cloud微服务实战

 

作 译 者:翟永超

 

出版时间:2017-04

 

千 字 数:586

 

版    次:01-01

 

页    数:440

 

开    本:16开

 

I S B N :9787121313011

 

定价:89

 

本书从时下流行的微服务架构概念出发,详细介绍了Spring Cloud针对微服务架构中几大核心要素的解决方案和基础组件。对于各个组件的介绍,本书主要以示例与源码结合的方式来帮助读者更好地理解这些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一些问题和解决思路,可供读者在实践中作为参考。本书适合所有Java开发人员,尤其适合正在做微服务架构技术选型或正在实施微服务架构的团队查阅和参考。

 

第1章 基础知识    1

 

什么是微服务架构    1

 

与单体系统的区别    1

 

如何实施微服务    2

 

为什么选择Spring Cloud    6

 

Spring Cloud简介    7

 

版本说明    8

 

第2章 微服务构建:Spring Boot    11

 

框架简介    12

 

快速入门    13

 

项目构建与解析    13

 

实现RESTful API    17

 

配置详解    20

 

配置文件    20

 

自定义参数    22

 

参数引用    22

 

使用随机数    23

 

命令行参数    23

 

多环境配置    24

 

加载顺序    25

 

监控与管理    26

 

初识actuator    27

 

原生端点    28

 

小结    38

 

第3章 服务治理:Spring Cloud Eureka    39

 

服务治理    39

 

Netflix Eureka    40

 

搭建服务注册中心    41

 

注册服务提供者    43

 

高可用注册中心    46

 

服务发现与消费    48

 

Eureka详解    51

 

基础架构    52

 

服务治理机制    52

 

源码分析    56

 

配置详解    65

 

服务注册类配置    65

 

服务实例类配置    67

 

跨平台支持    71

 

第4章 客户端负载均衡:Spring Cloud Ribbon    73

 

客户端负载均衡    73

 

RestTemplate详解    75

 

GET请求    75

 

POST请求    77

 

PUT请求    79

 

DELETE请求    79

 

源码分析    80

 

负载均衡器    91

 

负载均衡策略    109

 

配置详解    123

 

自动化配置    124

 

Camden版本对RibbonClient配置的优化    125

 

参数配置    127

 

与Eureka结合    127

 

重试机制    128

 

第5章 服务容错保护:Spring Cloud Hystrix    130

 

快速入门    131

 

原理分析    135

 

工作流程    135

 

断路器原理    144

 

依赖隔离    148

 

使用详解    151

 

创建请求命令    151

 

定义服务降级    154

 

异常处理    157

 

命令名称、分组以及线程池划分    158

 

请求缓存    159

 

请求合并    166

 

属性详解    172

 

Command属性    174

 

collapser属性    184

 

threadPool属性    185

 

Hystrix仪表盘    187

 

Turbine集群监控    192

 

构建监控聚合服务    192

 

与消息代理结合    196

 

第6章 声明式服务调用:Spring Cloud Feign    199

 

快速入门    200

 

参数绑定    202

 

继承特性    205

 

Ribbon配置    209

 

全局配置    209

 

指定服务配置    209

 

重试机制    210

 

Hystrix配置    211

 

全局配置    211

 

禁用Hystrix    211

 

指定命令配置    212

 

服务降级配置    212

 

其他配置    214

 

请求压缩    214

 

日志配置    215

 

第7章 API网关服务:Spring Cloud Zuul    217

 

快速入门    219

 

构建网关    220

 

请求路由    221

 

请求过滤    223

 

路由详解    226

 

传统路由配置    226

 

服务路由配置    228

 

服务路由的默认规则    229

 

自定义路由映射规则    229

 

路径匹配    230

 

路由前缀    233

 

本地跳转    234

 

Cookie与头信息    235

 

Hystrix和Ribbon支持    236

 

过滤器详解    238

 

过滤器    238

 

请求生命周期    239

 

核心过滤器    240

 

异常处理    244

 

禁用过滤器    256

 

动态加载    257

 

动态路由    257

 

动态过滤器    261

 

第8章 分布式配置中心:Spring Cloud Config    267

 

快速入门    267

 

构建配置中心    268

 

配置规则详解    269

 

客户端配置映射    272

 

服务端详解    274

 

基础架构    274

 

Git配置仓库    276

 

SVN配置仓库    279

 

本地仓库    279

 

本地文件系统    279

 

健康监测    280

 

属性覆盖    281

 

安全保护    281

 

加密解密    282

 

高可用配置    286

 

客户端详解    286

 

URI指定配置中心    287

 

服务化配置中心    287

 

失败快速响应与重试    290

 

获取远程配置    292

 

动态刷新配置    293

 

第9章 消息总线:Spring Cloud Bus    295

 

消息代理    295

 

RabbitMQ实现消息总线    296

 

基本概念    297

 

安装与使用    298

 

快速入门    302

 

整合Spring Cloud Bus    306

 

原理分析    307

 

指定刷新范围    308

 

架构优化    309

 

RabbitMQ配置    310

 

Kafka实现消息总线    312

 

Kafka简介    312

 

快速入门    313

 

整合Spring Cloud Bus    315

 

Kafka配置    318

 

深入理解    318

 

源码分析    320

 

其他消息代理的支持    342

 

第10章 消息驱动的微服务:Spring Cloud Stream    344

 

快速入门    344

 

核心概念    349

 

绑定器    350

 

发布-订阅模式    351

 

消费组    353

 

消息分区    354

 

使用详解    355

 

开启绑定功能    355

 

绑定消息通道    356

 

消息生产与消费    360

 

响应式编程    366

 

消费组与消息分区    368

 

消息类型    370

 

绑定器详解    373

 

绑定器SPI    373

 

自动化配置    374

 

多绑定器配置    374

 

RabbitMQ与Kafka绑定器    376

 

配置详解    376

 

基础配置    377

 

绑定通道配置    377

 

绑定器配置    379

 

第11章 分布式服务跟踪:Spring Cloud Sleuth    386

 

快速入门    386

 

准备工作    386

 

实现跟踪    389

 

跟踪原理    390

 

抽样收集    392

 

与Logstash整合    394

 

与Zipkin整合    397

 

收集    398

 

消息中间件收集    402

 

收集原理    404

 

数据存储    414

 

API接口    417

 

附录A Starter POMs    419

 

后记    421

 

 


《云端飞驰:现代Java企业级应用架构与实践》 简介: 在快速迭代的软件开发浪潮中,构建高效、稳定、可扩展的企业级应用是每个技术团队面临的核心挑战。本书《云端飞驰》正是一本为应对这一挑战而生的实战指南。它深入浅出地剖析了现代Java企业级应用架构的精髓,从基础框架的构建到分布式系统的部署,再到云原生环境的落地,力求为读者勾勒出一幅完整、清晰的技术蓝图。本书强调理论与实践的紧密结合,通过大量的代码示例、详尽的配置说明以及对常见技术陷阱的规避建议,帮助开发者快速掌握构建下一代企业级应用所需的核心技能。 第一部分:现代Java应用基础构建 本部分将带您系统地梳理和掌握构建健壮Java应用的基础。我们不会局限于单一的技术栈,而是从更宏观的视角出发,讲解如何选择和运用最适合您项目需求的工具与框架。 现代化Java开发理念: 探讨Java语言发展至今的核心特性,以及在现代企业级应用开发中,如何利用这些特性提升代码质量、可读性和性能。我们将重点关注Lambda表达式、Stream API、CompletableFuture等并发编程模型,以及如何通过这些工具构建响应式和非阻塞的应用程序。 Spring Framework核心: Spring Framework作为Java企业级开发的事实标准,其重要性不言而喻。本部分将深入解析Spring IoC(控制反转)和DI(依赖注入)的核心原理,帮助您理解Bean的生命周期、装配方式以及如何有效地管理应用组件。我们将详细讲解Spring AOP(面向切面编程)在日志记录、事务管理、安全控制等方面的应用,以及如何通过声明式事务管理提高开发效率和代码的健壮性。 Spring Boot:简化与加速: Spring Boot是现代Java开发中最具影响力的框架之一。本部分将聚焦Spring Boot如何通过约定优于配置的理念,极大地简化Spring应用的开发和部署。我们将详细介绍Spring Boot的自动配置机制,如何自定义配置,以及如何利用Starter POMs快速集成各种第三方库。重点讲解Spring Boot的内嵌Web服务器(如Tomcat、Jetty、Undertow)的应用,以及如何构建独立的、可执行的JAR文件,实现“一次编写,处处运行”。 Spring Boot Web开发: 掌握Spring Boot进行Web开发的方方面面。我们将详细讲解Spring MVC(包括RESTful API的设计与实现)、数据绑定、校验,以及如何使用Thymeleaf等模板引擎构建动态Web页面。同时,我们也会介绍Spring Boot对WebSocket的支持,以及如何构建实时交互的应用。 数据持久化与Spring Data: 数据库是企业级应用不可或缺的一部分。本部分将系统介绍Spring Data项目的强大能力,它为多种数据存储技术提供了统一的编程模型。我们将详细讲解Spring Data JPA,如何进行实体映射、CRUD操作、复杂查询以及分页排序。同时,也会涵盖Spring Data Redis用于缓存加速,以及Spring Data MongoDB等NoSQL数据库的集成,帮助您根据业务需求选择合适的数据存储方案。 安全性与Spring Security: 应用安全是重中之重。本部分将深入Spring Security,这是一个功能强大且高度可定制的认证和授权框架。我们将讲解基于表单的登录、HTTP Basic认证、OAuth2认证流程,以及如何实现基于角色的访问控制。重点介绍Spring Security在Web应用和API安全方面的最佳实践,帮助您构建安全可靠的企业级系统。 第二部分:分布式系统架构与微服务实践 随着业务的不断增长和复杂化,单体应用往往难以满足高性能、高可用性和易于扩展的需求。本部分将引导您迈向分布式系统的大门,并聚焦于时下最热门的微服务架构。 分布式系统的挑战与模式: 深入理解分布式系统的固有挑战,包括数据一致性、网络通信、服务发现、容错、分布式事务等。我们将探讨CAP定理、BASE理论,以及服务降级、熔断、限流等常见的容错和高可用策略。 Spring Cloud:微服务生态系统的基石: Spring Cloud为构建分布式系统提供了丰富的组件和工具。本部分将详细讲解Spring Cloud的核心组件: 服务注册与发现(Eureka/Nacos): 掌握服务如何注册到注册中心,以及服务如何发现和调用彼此。我们将详细对比Eureka和Nacos的优劣,并展示如何在实际项目中应用。 声明式REST客户端(Feign): 学习如何使用Feign简化服务间的HTTP调用,实现代码的优雅与简洁。 负载均衡(Ribbon/Spring Cloud LoadBalancer): 理解负载均衡的原理,并掌握Ribbon(或Spring Cloud LoadBalancer)如何将请求分散到不同的服务实例上,提高系统的吞吐量和可用性。 API网关(Zuul/Spring Cloud Gateway): 学习如何使用API网关作为系统的统一入口,实现请求路由、认证、限流、监控等功能。重点讲解Spring Cloud Gateway的强大功能和配置。 配置中心(Spring Cloud Config/Nacos): 掌握如何集中管理和动态刷新分布式系统的配置信息,实现配置与代码的解耦。 断路器(Hystrix/Resilience4j): 深入理解断路器的作用,以及如何利用Hystrix(或Resilience4j)来防止故障的级联蔓延,提高系统的容错能力。 分布式跟踪(Sleuth/Zipkin): 学习如何通过分布式跟踪系统来定位和分析请求在微服务调用链中的耗时情况,以便快速诊断性能瓶颈。 服务治理与通信: 探讨不同服务间通信的模式,包括RESTful API、消息队列(如Kafka、RabbitMQ)的异步通信。我们将讲解如何设计高效的服务接口,以及如何处理服务间的依赖关系。 分布式事务解决方案: 分布式事务是微服务架构中的一个难点。本部分将介绍TCC(Try-Confirm-Cancel)、Saga模式等主流的分布式事务解决方案,并分析它们的适用场景和实现方式。 构建健壮的微服务: 讲解如何设计可观测性良好的微服务,包括日志、指标和健康检查。同时,也会讨论版本管理、灰度发布、蓝绿部署等微服务生命周期管理的重要环节。 第三部分:容器化部署与云原生演进 在构建了现代化的Java应用和分布式微服务后,如何高效、可靠地将其部署到生产环境,并充分利用云平台的优势,是本书的第三个重点。 容器化技术核心(Docker): 深入理解Docker的核心概念,包括镜像(Image)、容器(Container)、Dockerfile、Docker Compose。本部分将详尽讲解如何编写Dockerfile来构建高效、精简的应用程序镜像。学习如何使用Docker Compose来定义和运行多容器的Docker应用程序,模拟生产环境。 Docker容器编排(Kubernetes): Kubernetes(K8s)是当前最流行的容器编排平台。本部分将系统介绍Kubernetes的核心概念,如Pod、Deployment、Service、Namespace、Ingress等。我们将讲解如何使用Kubernetes来自动化部署、扩展和管理容器化应用程序,实现高可用性和弹性伸缩。 容器化部署实践: 演示如何将Spring Boot和Spring Cloud构建的微服务应用打包成Docker镜像,并部署到Kubernetes集群中。讲解CI/CD(持续集成/持续部署)流水线的构建,将代码提交、构建、测试、部署等环节自动化。 云原生架构理念: 介绍云原生(Cloud Native)的十二要素(Twelve-Factor App)等核心原则,以及如何在云环境中构建和运行应用程序。探讨服务网格(Service Mesh)如Istio、Linkerd的作用,它们如何进一步提升微服务治理能力。 性能优化与监控: 讲解在容器化和分布式环境下,如何进行应用性能的监控和调优。介绍Prometheus、Grafana等常用的监控工具,以及如何结合日志聚合工具(如ELK Stack)构建全面的可观测性平台。 适用人群: 本书适合所有希望掌握现代Java企业级应用开发、分布式系统设计以及容器化部署的开发者、架构师、技术主管和系统管理员。无论您是初学者还是有一定经验的开发者,都能从本书中获得宝贵的知识和实践经验。 学习本书,您将能够: 熟练运用Spring Boot快速构建健壮的Java应用。 理解并掌握Spring Cloud的核心组件,设计和实现高可用的分布式微服务。 精通Docker容器化技术,并能使用Kubernetes进行自动化部署和管理。 具备构建和运维云原生应用的综合能力,应对现代软件开发的挑战。 《云端飞驰:现代Java企业级应用架构与实践》 不仅仅是一本技术书籍,更是一次赋能您在云时代构建卓越应用的旅程。通过本书的学习,您将掌握驱动企业数字化转型和技术创新的核心竞争力。

用户评价

评分

这本书的封面设计相当吸引人,深邃的蓝色背景搭配金色的标题,有一种沉稳而又不失科技感的气息,这让我对内容充满了期待。翻开第一页,纸张的质感很好,印刷清晰,阅读体验上乘。尽管我还没来得及深入研究书中的每一个章节,但仅仅是浏览目录,就足以感受到作者在内容编排上的用心。从Spring Boot的基础入门,到Spring Cloud在微服务中的应用,再到Docker容器化部署,这几个核心技术点被清晰地串联起来,仿佛一条清晰的学习路径图呈现在眼前。我特别关注到了关于“微服务架构实战”的部分,这正是我目前工作中最迫切需要解决的技术难题。书中对于如何设计、开发、部署和管理微服务应用,应该会有非常详尽的讲解。我对书中可能涉及到的服务注册与发现、熔断降级、负载均衡、分布式配置中心等方面的内容尤为感兴趣,这些都是构建健壮微服务系统的关键。这本书的厚度适中,既不会让人望而生畏,又保证了内容的充实度,相信它能为我提供扎实的理论基础和实用的操作指南。

评分

这本书的外观很简洁大气,没有过多花哨的修饰,反而透露出一种专业感。我之前对Spring Boot和Spring Cloud有一定的了解,但总感觉在将它们融入到实际的微服务架构中时,缺少一个清晰的脉络和完整的实操指导。这本书的出现,正好填补了这一空白。我喜欢它将Spring Boot的“精髓”与Spring Cloud的“实战”结合,并且引入了Docker这个重要的容器化技术,形成了一个完整的技术栈。这让我看到了一个端到端的微服务解决方案。我尤其关注书中关于如何设计和实现一个高可用、可伸缩的微服务系统的部分,这其中可能涉及到服务拆分、API网关、服务间通信、分布式事务处理等等复杂的技术点。我希望这本书能够提供一些具体的案例分析,让我能够学以致用,将理论知识转化为实际能力。同时,Docker在微服务部署和管理中的应用,也让我充满了好奇,期待书中能够有深入的讲解。

评分

这次偶然的机会接触到这本书,立刻被它的标题所吸引。作为一名在Java领域摸爬滚打多年的开发者,我一直在寻找能够帮助我系统性梳理和提升微服务架构能力的读物。这本书的“精髓”、“实战”字眼,以及提到的Spring Boot、Spring Cloud和Docker,都精准地戳中了我的兴趣点。我个人比较看重书籍的实践性,希望它不仅仅是理论的堆砌,更能提供实际的代码示例、配置说明以及生产环境中的一些常见问题的解决方案。从我快速翻阅的感受来看,这本书的章节划分逻辑清晰,从基础到进阶,循序渐进,对于初学者来说应该很容易上手,而对于有一定经验的开发者,也能从中找到新的启发。我特别期待书中关于Spring Cloud组件的深入剖析,比如Eureka、Zuul、Config Server等,以及它们是如何协同工作来构建一个完整的微服务生态的。另外,Docker的集成也是一大亮点,毕竟在如今的云原生时代,容器化部署已经成为标配。这本书的出现,无疑会成为我近期工作中的重要参考资料。

评分

拿到这本厚厚的书籍,就有一种沉甸甸的专业感。我一直认为,在快速发展的IT技术领域,掌握核心的框架和技术,并能将它们融会贯通,是提升个人竞争力的关键。这本书的标题,直接点明了Spring Boot、Spring Cloud和Docker这三大关键技术,而且冠以“精髓”和“实战”,这让我感到非常有价值。我是一名正在努力转型到微服务开发领域的开发者,目前对Spring Cloud中的各个组件,如配置中心、服务网关、服务发现等,还处于比较模糊的认知阶段,这本书正好能帮助我建立起一个系统性的认识。我期待它能详细讲解如何在Spring Boot的基础上,运用Spring Cloud构建复杂的微服务系统,并且通过Docker实现高效的部署和管理。书中关于“微服务架构”的实战部分,是我最期待的内容,希望能够学到一些在实际项目中可以借鉴的架构设计思路和开发技巧,解决我在日常开发中遇到的瓶颈。

评分

当这本书出现在我的视野中时,我立刻被它所包含的技术栈所吸引。Spring Boot作为Java领域炙手可热的微服务框架,其“精髓”的提炼是我一直以来所渴望的。而Spring Cloud更是微服务架构的基石,如何将它运用到实际项目中,是许多开发者面临的挑战。这本书将这两者与Docker这个容器化部署的利器结合,构建了一个完整的微服务解决方案。我尤其看重书中“实战”二字,这意味着它不会仅仅停留在理论层面,而是会提供丰富的实践指导。我希望能从书中学习到如何有效地设计和开发可扩展、高可用的微服务,包括服务治理、熔断降级、分布式追踪等关键技术。同时,Docker在微服务部署、运维中的应用也是我非常感兴趣的部分,期待书中能够提供清晰的Dockerfile编写、镜像构建以及容器编排的教程。这本书的出现,无疑为我系统学习和掌握微服务架构提供了一条捷径。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有