目录
项目1Spring Cloud微服务部署概述1
任务1.1微服务架构和Spring Cloud1
1.1.1单体架构和微服务架构1
1.1.2Spring Cloud微服务架构2
1.1.3Spring Boot与Spring Cloud的关系3
任务1.2Spring Cloud微服务部署方式3
任务1.3搭建基础开发环境 4
1.3.1安装JDK4
1.3.2安装IDEA5
任务1.4综合案例: Spring Boot单体微服务搭建
和JAR包部署实践6
1.4.1案例目标6
1.4.2任务分析6
1.4.3任务实施7
小结12
课后练习13
项目2Web服务器部署Spring Cloud微服务14
任务2.1了解Tomcat和Nginx服务器部署方法14
任务2.2搭建Spring Boot单体微服务15
2.2.1项目设计15
2.2.2搭建项目环境15
2.2.3编写项目代码17
2.2.4打包项目25
任务2.3用Tomcat部署Spring Cloud单体微服务26
2.3.1安装Tomcat26
2.3.2实现Tomcat部署27
任务2.4用Nginx+Tomcat部署Spring Boot单体微服务28
2.4.1安装Nginx28
2.4.2Nginx配置文件292.4.3实现Nginx+Tomcat部署30
任务2.5整合Nacos搭建Spring Cloud微服务32
2.5.1项目设计33
2.5.2搭建项目环境33
2.5.3编写项目代码34
2.5.4启动微服务41
任务2.6综合案例: Spring Cloud微服务的Web服务器部署实践41
2.6.1案例目标41
2.6.2任务分析42
2.6.3任务实施44
小结48
课后练习49
项目3Docker基础和部署Spring Boot单体微服务51
任务3.1虚拟化与容器51
3.1.1虚拟化技术51
3.1.2虚拟机虚拟化和容器虚拟化52
3.1.3容器及其分类53
任务3.2认识Docker54
3.2.1Docker简介54
3.2.2Docker架构与组成55
3.2.3Docker应用场景56
任务3.3安装Docker57
3.3.1Docker仓库方式58
3.3.2脚本方式62
任务3.4综合案例: Spring Boot单体微服务的Docker部署实践63
3.4.1案例目标63
3.4.2任务分析63
3.4.3任务实施64
小结68
课后练习68
项目4用Docker管理和部署Spring Cloud微服务组件69
任务4.1Docker镜像管理69
4.1.1利用Docker仓库创建Docker镜像69
4.1.2基于Dockerfile文件创建Docker镜像72
4.1.3使用history选项查看镜像历史77
4.1.4使用save选项导出本地镜像78
4.1.5使用load选项导入本地镜像78
4.1.6使用import选项导入本地镜像79
4.1.7使用tag选项指定镜像标签79
4.1.8使用rmi选项和prune选项删除镜像79
4.1.9使用push选项上传镜像80
任务4.2Docker容器管理80
4.2.1创建Docker容器81
4.2.2查看Docker容器81
4.2.3启动Docker容器82
4.2.4停止Docker容器83
4.2.5访问Docker容器83
任务4.3Docker网络管理86
4.3.1Docker网络模式86
4.3.2同主机的Docker容器间通信89
4.3.3跨主机的Docker容器间通信92
4.3.4Docker容器访问外部网络96
任务4.4综合案例: 微服务组件的Docker部署实践96
4.4.1案例目标96
4.4.2任务分析97
4.4.3任务实施97
小结99
课后练习99
项目5Docker部署Spring Cloud微服务100
任务5.1基于Docker容器开发Spring Cloud微服务项目100
5.1.1项目设计100
5.1.2搭建项目环境102
5.1.3搭建项目整体结构102
5.1.4开发公共模块105
5.1.5开发商品管理模块106
5.1.6开发订单管理模块110
5.1.7开发网关模块115
5.1.8配置Sentinel参数117
5.1.9测试项目运行效果118
任务5.2综合案例: Spring Cloud微服务的Docker部署实践118
5.2.1案例目标118
5.2.2任务分析118
5.2.3任务实施120
小结129
课后练习129
项目6Docker+Minikube部署Spring Boot单体微服务130
任务6.1了解Kubernetes 130
6.1.1Kubernetes的作用130
6.1.2Kubernetes架构与组成131
6.1.3Kubernetes应用场景133
任务6.2Kubernetes资源133
6.2.1Pod134
6.2.2Service134
6.2.3Deployment134
6.2.4Namespace135
6.2.5Label135
任务6.3Minikube的安装与使用135
6.3.1搭建Minikube环境135
6.3.2Minikube常用命令138
6.3.3Kubectl常用命令139
任务6.4Docker+Minikube容器化部署142
6.4.1资源清单文件142
6.4.2Service的外部访问与端口145
6.4.3ClusterIP外部访问方式146
6.4.4NodePort外部访问方式147
6.4.5LoadBalancer外部访问方式148
6.4.6Ingress外部访问方式149
6.4.7Docker+Minikube容器化部署流程151
任务6.5综合案例: Spring Boot单体微服务的Docker+Minikube部署实践155
6.5.1案例目标155
6.5.2任务分析155
6.5.3任务实施156
小结164
课后练习164
项目7Docker+Minikube部署Spring Cloud微服务165
任务7.1容器编排控制器165
7.1.1容器编排的实现165
7.1.2有状态应用和无状态应用165
7.1.3StatefulSet和Deployment的差异166
7.1.4数据持久化166
任务7.2Docker+Minikube部署Spring Cloud微服务要点167
7.2.1部署有状态应用167
7.2.2部署无状态应用171
7.2.3实现容器间数据共享172
7.2.4实现宿主机与容器间的数据共享173
7.2.5实现云服务器与容器间的数据共享175
任务7.3综合案例: Spring Cloud微服务的Docker+Minikube部署实践176
7.3.1案例目标176
7.3.2任务分析176
7.3.3任务实施178
小结195
课后练习195
参考文献197
