第1章 微服务介绍 1
1.1什么是微服务架构 2
1.2垂直应用与微服务 2
1.3实现一个最简单的微服务框架 3
1.3.1公共接口 4
1.3.2服务端 4
1.3.3客户端 7
1.3.4完善框架 8
1.4主流微服务框架介绍 9
1.4.1 Dubbo 9
1.4.2 Spring Cloud 10
第2章 模块拆分 12
2.1拆分逻辑 13
2.2单模块 14
2.3基础模块 14
2.4复杂模块 15
第3章 Spring Boot 16
3.1目录结构 17
3.2主要文件 18
3.3编辑器集成 18
第4章 Dubbo 20
4.1注册中心 21
4.2接口工程 22
4.3服务端 23
4.4消费方 28
4.5网关 30
4.6监控中心 33
4.7服务管理 35
4.8负载均衡 36
4.9服务降级 37
4.10集群容错 38
第5章 Spring Cloud 40
5.1注册中心 41
5.2注册服务 44
5.3调用服务 45
5.3.1Ribbon 46
5.3.2 Feign 49
5.4 Zuul网关 51
5.5 Hystrix断路器 54
5.5.1 Ribbon 54
5.5.2 Fegin 57
5.6服务监控 58
5.7应用监控 61
5.8熔断器监控 62
5.8.1单应用的熔断数据 63
5.8.2使用Turbine聚合数据 64
5.8.3 Cloud Admin整合Turbine 65
5.9统一管理配置文件 66
第6章 数据持久化 70
6.1 Spring Data MySQL 71
6.1.1依赖与配置 71
6.1.2实体映射 72
6.1.3Repository 76
6.1.4 JdbcTemplate 79
6.1.5事务管理 80
6.2 Spring Data MongoDB 81
6.2.1依赖与配置 81
6.2.2实体映射 82
6.2.3 Repository 83
6.2.4 MongoTemplate 84
6.3 Spring Data ElasticSearch 85
6.3.1基本概念 85
6.3.2安装与运行 86
6.3.3基于HTTP交互 87
6.3.4配置分词器 91
6.3.5依赖与配置 94
6.3.6实体映射 94
6.3.7Repository 95
6.3.8 ElasticsearchTemplate 96
6.4 TCC分布式事务 98
6.5 Spring Data Redis 100
6.5.1安装运行 100
6.5.2依赖与配置 101
6.5.3缓存支持 102
6.5.4 RedisTemplate 106
6.5.5全局锁 107
第7章 表单验证 110
第8章 定时任务 113
8.1 Spring Task单机定时任务 114
8.2 Cron表达式 114
8.3 QuartZ分布式定时任务 116
第9章 分布式会话 122
第10章 消息队列 124
10.1安装及配置RabbitMQ 125
10.2配置及使用 128
第11章 构建Web应用 130
第12章 异常处理 133
第13章 安全认证 139
13.1 OAuth2.0协议介绍 140
13.2授权模式 141
13.3在Dubbo中使用OAuth 2.0 142
13.4在Spring Cloud中使用OAuth 2.0 151
13.4.1授权中心 151
13.4.2服务模块配置 154
13.4.3网关配置 157
13.4.4测试运行 159
第14章 日志管理 161
14.1 Spring Boot日志 162
14.1.1日志格式 162
14.1.2输出到文件 163
14.1.3扩展配置 163
14.2分布式日志管理 166
14.2.1 ELK搭建 167
14.2.2 Spring Boot配置 169
第15章 热部署 171
第16章 接口文档管理 173
16.1 Dubbo中使用Swagger2 174
16.2 Spring Cloud中使用Swagger2 178
16.2.1微服务模块配置 179
16.2.2网关模块配置 181
第17章 Nexus私库 184
17.1 Nexus安装 185
17.2从Nexus私库下载jar包 187
17.3上传Jar包到Nexus私库 189
第18章 发布系统 191
18.1 Jenkins安装配置 192
18.2构建任务 194
第19章 分布式架构总结 201