mplate访问 51
2.3总结 53
第3章分布式系统数据访问 54
3.1集成MyBatis-Plus 54
3.1.1MyBatis-Plus简介 54
3.1.2MyBatis-Plus集成 55
3.1.3Druid连接池 61
3.1.4SpringBoot事务控制 63
3.2分布式缓存 65
3.2.1分布式缓存之Redis 66
3.2.2分布式缓存更新策略 68
3.2.3分布式缓存失效问题 70
3.3总结 71
第2篇分布式系统中间件实战
第4章分布式事务与分布式锁 74
4.1分布式事务 74
4.1.1分布式事务简介 74
4.1.2分布式事务框架——Seata 77
4.2分布式锁 79
4.2.1分布式锁简介 79
4.2.2用Redisson组件实现分布式锁 80
4.3总结 82
第5章分布式消息中间件 83
5.1分布式消息中间件概述 83
5.1.1分布式消息中间件的设计原理 83
5.1.2分布式消息中间件的应用场景 85
5.1.3引入分布式消息中间件带来的问题 86
5.2分布式消息中间件之RocketMQ 87
5.2.1RocketMQ的基本概念 87
5.2.2RocketMQ的特性 90
5.2.3RocketMQ实战案例 91
5.3分布式消息中间件之Kafka 95
5.3.1Kafka的基本概念 95
5.3.2Kafka实战案例 97
5.4总结 99
第6章分布式系统服务治理 100
6.1服务限流与降级 100
6.1.1限流算法 100
6.1.2分布式限流组件 103
6.2配置中心 107
6.2.1配置中心之Apollo 107
6.2.2配置中心之Nacos 110
6.3服务注册与发现 112
6.4服务链路追踪 113
6.5服务网关 115
6.6总结 116
第7章分布式系统监控 117
7.1监控端点 117
7.1.1Micrometer简介 117
7.1.2SpringBootActuator集成 118
7.2Prometheus组件 120
7.2.1Prometheus简介 120
7.2.2Prometheus搭建 121
7.3Grafana组件 123
7.4总结 125
第8章分布式系统日志收集 126
8.1日志框架 126
8.1.1Log4j简介 126
8.1.2Log4j替代者之Logback 129
8.1.3Log4j升级版之Log4j2 130
8.2服务端日志收集 131
8.2.1Elastic之Filebeat 131
8.2.2Elastic之Logstash 133
8.3日志存储 134
8.3.1Elasticsearch简介 135
8.3.2Elasticsearch框架的原理 137
8.3.3Elasticsearch命令 138
8.4日志可视化 144
8.4.1Kibana组件简介 144
8.4.2Kibana的安装 145
8.4.3Kibana日志可视化 147
8.5总结 150
第3篇分布式系统编排与部署
第9章容器化技术之Docker 152
9.1容器化概述 152
9.1.1从虚拟化到容器化 152
9.1.2容器化与Docker 154
9.2Docker概述 155
9.2.1Docker简介 155
9.2.2Docker架构 155
9.2.3Docker安装 157
9.2.4Docker应用示例 159
9.3Docker命令 160
9.3.1容器生命周期管理命令 160
9.3.2容器操作命令 165
9.3.3容器镜像管理命令 168
9.3.4容器仓库管理命令 169
9.4Dockerfile概述 170
9.4.1Docker镜像构建 170
9.4.2Dockerfile指令 171
9.5总结 174
第10章容器编排引擎Kubernetes 175
10.1Kubernetes概述 175
10.1.1Kubernetes的发展历史 175
10.1.2Kubernetes架构 176
10.1.3Kubernetes的重要概念 179
10.2Kubernetes编排 195
10.2.1Pod编排 195
10.2.2Service编排 196
10.2.3Ingress编排 197
10.2.4ConfigMap配置文件 197
10.3Kubernetes部署工具 197
10.3.1Kubectl工具 197
10.3.2Helm工具 200
10.3.3Helm配置文件 201
10.4总结 203
第11章分布式系统持续集成与交付 204
11.1Git代码管理工具 204
11.1.1Git工具简介 204
11.1.2Git安装示例 207
11.1.3Git的核心命令 208
11.2GitLab持续集成 213
11.2.1GitLab简介 214
11.2.2GitLab搭建 214
11.2.3GitLabRunner搭建 216
11.3Jenkins交付 218
11.3.1Jenkins简介 218
11.3.2Jenkins搭建 219
11.3.3Jenkins应用部署 220
11.4总结 222