在近两年中,微服务一词逐渐的进入了技术人员的视野,并已成为当下高热度的名词之一。这里的微服务并不是指某一个技术或者某个服务,而是一种理念。通过此理念的使用,逐渐的发展出了一种流行的架构——微服务架构。
微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,其基本思想在于考虑围绕着业务领域组件来创建应用,这些应用可独立地进行开发和管理。简单来说,微服务架构的目的就是有效的拆分应用,实现敏捷开发和部署。
微服务架构比较适合未来有一定的扩展复杂度,且有很大用户增量预期的应用。通常来说,比较适合新兴的互联网公司或有项目升级需求的传统企业应用。随着技术的不断发展,各种企业对微服务架构的使用需求也越来越多。
本课程以Spring Boot+Spring Clould+Docker技术为基础,从当下流行的微服务架构理念出发,讲解微服务和微服务架构方面的技术知识。
本课程适用于想要快速学习微服务技术的人员,以及对Spring Boot、Spring Cloud和Docker有兴趣的人员。
第1章 认识微服务架构 1.1 为什么需要微服务架构 1.1.1 传统单体应用架构的问题 1.1.2 如何解决传统应用架构的问题 1.2 微服务架构是什么 1.2.1 微服务架构的概念 1.2.2 微服务架构的优点 1.2.3 微服务架构的不足 1.2.4 微服务架构与SOA的区别 1.3 如何构建微服务架构 1.3.1 微服务架构的拆分 1.3.2 微服务架构的组件 1.3.3 微服务架构的搭建 1.3.4 微服务架构的技术选型 1.4 本章小结 第2章 初识Spring Boot 2.1 Spring Boot介绍 2.1.1 Spring Boot的由来和特点 2.1.2 Spring Boot的使用要求 2.2 Spring Boot入门 2.2.1 Spring Boot项目的快速搭建 2.2.2 第一个Spring Boot程序 2.3 Spring Boot的工作机制 2.3.1 @SpringBootApplication 2.3.2 SpringApplication 2.4 本章小结 第3章 Spring Boot应用开发 3.1 Spring Boot与MyBatis的集成 3.2 Spring Boot与Redis的集成 3.2.1 添加Redis缓存 3.2.2 清除Redis缓存 3.3 Spring Boot与ActiveMQ的集成 3.3.1 使用内嵌的ActiveMQ 3.3.2 使用外部的ActiveMQ 3.4 Spring Boot应用的打包和部署 3.4.1 JAR包 3.4.2 WAR包 3.5 本章小结 第4章 Spring Cloud(上) 4.1 Spring Cloud简介 4.1.1 什么是Spring Cloud 4.1.2 Spring Cloud的特点 4.1.3 Spring Cloud的版本 4.2 服务发现 4.2.1 Eureka介绍 4.2.2 如何使用Eureka注册服务 4.2.3 如何实现服务间的调用 4.3 客户端负载均衡 4.3.1 Ribbon介绍 4.3.2 Ribbon的使用 4.4 本章小结 第5章 Spring Cloud(下) 5.1 服务容错保护 5.1.1 Spring Cloud Hystrix介绍 5.1.2 Spring Cloud Hystrix的使用 5.1.3 Hystrix Dashboard的使用 5.2 API网关服务 5.2.1 为什么需要API网关 5.2.2 如何使用Zuul构建API 网关服务 5.3 分布式配置管理 5.3.1 Spring Cloud Config简介 5.3.2 使用本地存储的方式实现配置管理 5.3.3 使用Git存储的方式实现配置管理 5.4 本章小结 第6章 初识Docker 6.1 Docker概述 6.1.1 什么是Docker 6.1.2 Docker的特点 6.1.3 Docker与虚拟机的区别 6.2 Docker的安装要求 6.3 Docker的安装方式 6.3.1 在线安装 6.3.2 离线安装 6.3.3 脚本文件安装 6.3.4 安装时的问题及解决方法 6.4 Docker的运行机制 6.4.1 Docker的引擎 6.4.2 Docker的架构 6.5 Docker的底层技术 6.6 本章小结 第7章 Docker的使用 7.1 Docker入门程序 7.2 Dockerfile介绍 7.2.1 Dockerfile基本结构 7.2.2 Dockerfile常用指令 7.2.3 .dockerignore文件 7.3 Docker客户端常用指令 7.3.1 Docker常用操作指令 7.3.2 Docker管理指令 7.4 Docker镜像管理 7.4.1 Docker镜像管理工具 7.4.2 Docker Hub远程镜像管理 7.4.3 Docker Registry本地私有仓库搭建 7.4.4 Docker Registry本地私有仓库配置 7.5 本章小结 第8章 Docker中的网络与数据管理 8.1 Docker网络管理 8.1.1 Docker默认网络管理 8.1.2 自定义网络介绍 8.1.3 自定义bridge网络 8.1.4 容器之间的网络通信 8.2 Docker Swarm集群 8.2.1 Docker Swarm概述 8.2.2 Docker Swarm使用 8.3 Docker数据管理 8.3.1 Docker数据存储机制 8.3.2 Docker数据存储方式 8.4 Volumes数据卷管理 8.4.1 Volumes数据卷的优势 8.4.2 Volumes数据卷使用 8.5 本章小结 第9章 微服务项目的整合与测试 9.1 微服务项目整合 9.1.1 微服务项目架构预览 9.1.2 微服务项目功能介绍 9.1.3 微服务项目启动测试 9.2 接口测试工具—Swagger-ui 9.2.1 Swagger-ui使用方法 9.2.2 Swagger-ui效果测试 9.3 本章小结 第10章 微服务部署 10.1 Docker Compose编排工具 10.1.1 Docker Compose介绍 10.1.2 Docker Compose安装与卸载 10.1.3 Compose file文件使用说明 10.2 微服务与Docker整合 10.2.1 添加Dockerfile文件 10.2.2 添加dockerfile-maven插件 10.2.3 添加docker-compose.yml编排文件 10.3 环境搭建以及镜像构造 10.3.1 环境搭建 10.3.2 镜像构造 10.4 微服务手动部署 10.4.1 非集群环境下服务部署 10.4.2 集群环境下服务部署 10.4.3 微服务测试 10.5 使用Jenkins自动部署微服务 10.5.1 Jenkins介绍 10.5.2 Jenkins安装 10.5.3 Jenkins集成插件配置 10.5.4 服务自动化部署 10.6 本章小结