着重通过 Spring Boot/Cloud 框架构建一个用户服务提供者和一个电影服务消费者。
#### 实验内容
从这节开始我们真正开始实战微服务架构。首先 Spring Cloud 并不是面向零基础的开发人员,假设你现在已经熟悉 Java 基础和 Spring Boot 基础。
之前讲到过,Spring Cloud 是用于构建分布式系统的,一般分布式系统都会涉及到**服务提供者**和**服务消费者**。 本实验就开始试着构建一个用户服务提供者和一个电影服务消费者。
以电影售票系统为例。如图,用户向电影微服务发起了一个购票的请求。在进行购票的业务操作前,电影微服务需要调用用户微服务的接口,查询当前用户的余额是多少、是不是符合购票标准等。在这种场景下,用户微服务就是一个服务提供者,电影微服务则是一个服务消费者。

#### 知识点
* 分布式系统的大致组成
* 服务提供者和消费者的关系
* 通过 Maven 引用 Spring Cloud 依赖
* 通过 Spring Cloud 编写微服务
#### 工具及软件
* JDK:建议使用 JDK 1.8
* Spring Boot:实验使用 Spring Boot 2.0.7.RELEASE 版本。
* Spring Cloud:实验使用 Spring Cloud Finchley.SR2 版本。
* Maven:实验使用 Maven 3.6.0 构建项目。
- 微服务开发框架 SpringCloud
- 单体应用
- 如何解决单体应用架构中存在的问题
- 如何实现微服务架构以及技术选型
- Spring Cloud 特点
- 开始使用 Spring Cloud 实战微服务
- 快速搭建开发脚手架
- 编写服务提供者-用户微服务
- 编写服务消费者【电影微服务】
- 整合 Spring Boot Actuator
- 开始整合
- 微服务注册与发现
- 编写服务发现服务
- 注册微服务至 Eureka Server
- 更新服务提供者 (用户微服务)
- 更新服务消费者 (电影微服务)
- 查看注册结果
- Ribbon 客户端负载均衡
- Ribbon 简介
- 引入 Ribbon
- Ribbon 入门
- Feign 声明式 REST 调用
- 改造项目
- Hystrix 容错处理
- 实现容错的手段
- Hystrix 简介
- 开始使用
- 测试
- Zuul 网关
- 网关是什么
- Spring Cloud Zuul 介绍
- Zuul 入门使用
- 网关测试
- Spring Cloud Config 配置管理
- 配置中心的作用
- Spring Cloud Config 简介
- Spring Cloud Config 使用
- Sleuth 与 Zipkin 结合图形化展示
- 分布式追踪相关基础概念
- Spring Cloud Sleuth 介绍及使用
- Zipin 简介
- Docker 入门
- 云原生概念
- Docker 容器介绍
- Docker 常用命令
- 微服务运行在 Docker 之上
- Dockerfile 及其常见指令介绍
- 改造 Eureka Server 微服务
- Docker Compose 编排微服务
- 安装 Compose
- Compose 快速入门
- Compose 编排 SpringCloud微服务
- 将 Eureka 等微服务运行在 Docker 容器中
- Docker-Compose 编排文件的编写
- 通过 Docker Compose 启动、停止
- Compose编排Spring Cloud微服务2
- Docker-Compose 来部署一个双节点的 Eureka 集群
