第 1章 微服务架构与项目设计 1
任务1 了解大觅网业务场景 2
任务2 了解微服务架构 7
1.2.1 软件架构分类 7
1.2.2 微服务架构概念 10
任务3 了解大觅网架构设计 12
任务4 了解大觅网项目管理设计 15
1.4.1 代码版本管理设计 15
1.4.2 代码规范管理设计 18
1.4.3 团队协作管理设计 20
第 2章 Spring Cloud初体验 23
任务1 了解Spring Cloud 24
2.1.1 Spring Cloud简介 24
2.1.2 Spring Cloud和Spring Boot 24
2.1.3 Spring Cloud体系介绍 25
任务2 使用Eureka实现注册中心及注册服务 26
2.2.1 Eureka简介 26
2.2.2 编写Eureka Server 26
2.2.3 注册微服务到Eureka Server 28
2.2.4 为Eureka Server添加用户认证 30
任务3 使用Feign实现声明式REST调用 32
2.3.1 微服务间接口调用 32
2.3.2 接口调用参数 34
任务4 使用Hystrix实现微服务的容错处理 38
2.4.1 容错 38
2.4.2 使用Hystrix处理容错 39
2.4.3 容错可视化监控 40
第3章 虚拟化技术Docker+Jenkins 49
任务1 安装Docker 50
3.1.1 Docker和虚拟机 50
3.1.2 Docker相关概念 51
3.1.3 Docker运行原理 52
3.1.4 在Ubuntu环境中安装Docker 53
任务2 使用Docker命令管理Docker 53
3.2.1 Docker镜像操作命令 53
3.2.2 Docker容器操作命令 55
任务3 使用docker-compose管理Docker 57
3.3.1 docker-compose介绍 57
3.3.2 docker-compose.yml常用命令 58
3.3.3 docker-compose常用命令 59
任务4 使用Docker+Jenkins实现CI 60
3.4.1 Jenkins介绍 60
3.4.2 Jenkins的安装 60
3.4.3 Jenkins的配置 62
3.4.4 使用Jenkins配置普通任务 66
3.4.5 使用Jenkins Pipeline配置流水线任务 70
第4章 分布式日志处理 73
任务1 了解分布式架构下系统的监控问题 74
4.1.1 接口监控问题 74
4.1.2 日志监控问题 74
任务2 使用Sleuth实现微服务跟踪 74
4.2.1 微服务项目整合Spring Cloud Sleuth 75
4.2.2 Spring Cloud Sleuth整合Zipkin 76
任务3 搭建ELK+Kafka环境 82
4.3.1 Elasticsearch介绍及环境搭建 83
4.3.2 Kibana介绍及环境搭建 86
4.3.3 Logstash介绍及环境搭建 87
4.3.4 Kafka介绍及环境搭建 88
任务4 使用ELK+Kafka实现日志收集 89
4.4.1 发送日志信息到Kafka 89
4.4.2 在Logstash中定义收集规则 91
4.4.3 在Kibana中定义规则查询日志 92
第5章 分布式业务实现 97
任务1 使用RabbitMQ实现分布式事务 98
5.1.1 分布式事务简介 98
5.1.2 消息中间件简介 99
5.1.3 RabbitMQ的安装与配置 101
5.1.4 使用RabbitMQ实现分布式事务 108
任务2 使用Redis-setnx实现分布式锁 114
第6章 分布式部署实现 119
任务1 使用Spring Cloud Ribbon实现大觅网服务负载均衡 120
6.1.1 Ribbon简介 120
6.1.2 服务消费者整合Ribbon 120
6.1.3 负载均衡策略 122
6.1.4 通过配置方式更改负载均衡策略 122
任务2 使用Spring Cloud Zuul实现大觅网微服务统一网关 123
6.2.1 微服务网关介绍 123
6.2.2 搭建Zuul微服务网关 124
6.2.3 使用过滤器过滤请求 126
任务3 使用Spring Cloud Config实现大觅网分布式配置 128
6.3.1 编写Config Server 129
6.3.2 编写Config Client 131
6.3.3 加密解密 132
6.3.4 刷新配置 136
6.3.5 用户认证 138
第7章 分布式数据存储 141
任务1 使用Elasticsearch实现商品全文检索 142
7.1.1 Elasticsearch基础概念 143
7.1.2 Elasticsearch语法 144
7.1.3 编写Elasticsearch Java客户端 156
任务2 使用Mycat实现水平分库 159
7.2.1 Mycat简介 160
7.2.2 Mycat安装及配置 161
7.2.3 实现大觅网水平分库 164
第8章 集成测试 169
任务1 使用Sonar对大觅网代码进行规范测试 170
8.1.1 配合Jenkins自动检测代码 170
8.1.2 Sonar规则配置 176
任务2 使用JMeter进行大觅网压力测试 177
8.2.1 了解压力测试相关概念 177
8.2.2 使用JMeter进行大觅网接口测试 179
8.2.3 JMeter报告分析 186
任务3 使用Issue进行大觅网前后端联调任务管理 190
8.3.1 Issue简介 190
8.3.2 使用Issue进行Bug管理 190