<<<<<<< HEAD

Spring Cloud 入门

简介

本章从如下几个点概述微服务的基础知识和思路: * 注册中心 * 服务注册 * 服务发现 * 服务同步 * 服务续约 * 服务获取 * 服务下线 * 服务剔除 * 自我保护 * 服务降级

 先统一下名词概念:服务端:注册中心的服务端;客户端:表示服务提供者,向注册中心注册服务的客户端;消费端:向注册中心请求调用服务者

 * 注册中心是什么?
 * 为什么要有注册中心?
 * 注册中心的作用是什么?
 * 客户端如何注册服务?
 * 消费端如何调用服务?
 * 服务端如何接收服务?
 * 服务端如何存储服务?
 * 多个服务端如何同步数据?
 * 服务端的存储是否会满,满了怎么办?
 * 服务端挂了一个,其它服务端是否有感知,做何种处理?
 * 服务端挂了一个,对客户端有何影响,对消费端有何影响?
 * 服务端全挂了,服务还能注册吗?
 * 服务端全挂了,消费端调用服务会立刻报错吗?
 * 服务端如何更新注册的服务?
 * 服务端中存储的服务信息是否有超时机制?
 * 服务端如何保证存储的服务信息是最新的?
 * 服务端存储的信息结构是什么样的?
 * 服务如何下线?
 * 服务端可以强制剔除服务吗,如果可以怎么剔除?
 * 消费端如何获取服务的真实地址?

注册中心

服务注册

服务发现

服务同步

服务续约

服务获取

服务下线

服务剔除

Eureka 存储设计

存储层

二级缓存

* 过期机制
 * 接收到Eureka Client 发送的 register、renew 和 cancel 请求并更新 registry 注册表之后,使二级缓存失效invalidate(Key... keys);
 * Eureka Server 自身的 Evict Task 剔除服务后,删除二级缓存;
 * 二级缓存本身设置了 guava 的失效机制,隔一段时间后自己自动失效

* 更新机制

 * Eureka Client 获取全量或者增量的数据时,会先从一级缓存中获取;如果一级缓存中不存在,再从二级缓存中获取;如果二级缓存也不存在,这时候先将registry的数据同步到二级缓存中,再从缓存中获取
 * 定时更新一级缓存的时候,会读取二级缓存,如果二级缓存没有数据,也会触发load,拉取registry的注册数据

接口层

Spring Cloud 核心子项目

Spring Cloud Netflix

结语

Spring Cloud 入门

简介

本章从如下几个点概述微服务的基础知识和思路: * 注册中心 * 服务注册 * 服务发现 * 服务同步 * 服务续约 * 服务获取 * 服务下线 * 服务剔除 * 自我保护 * 服务降级

 先统一下名词概念:服务端:注册中心的服务端;客户端:表示服务提供者,向注册中心注册服务的客户端;消费端:向注册中心请求调用服务者

 * 注册中心是什么?
 * 为什么要有注册中心?
 * 注册中心的作用是什么?
 * 客户端如何注册服务?
 * 消费端如何调用服务?
 * 服务端如何接收服务?
 * 服务端如何存储服务?
 * 多个服务端如何同步数据?
 * 服务端的存储是否会满,满了怎么办?
 * 服务端挂了一个,其它服务端是否有感知,做何种处理?
 * 服务端挂了一个,对客户端有何影响,对消费端有何影响?
 * 服务端全挂了,服务还能注册吗?
 * 服务端全挂了,消费端调用服务会立刻报错吗?
 * 服务端如何更新注册的服务?
 * 服务端中存储的服务信息是否有超时机制?
 * 服务端如何保证存储的服务信息是最新的?
 * 服务端存储的信息结构是什么样的?
 * 服务如何下线?
 * 服务端可以强制剔除服务吗,如果可以怎么剔除?
 * 消费端如何获取服务的真实地址?

注册中心

服务注册

服务发现

服务同步

服务续约

服务获取

服务下线

服务剔除

Eureka 存储设计

存储层

二级缓存

* 过期机制
 * 接收到Eureka Client 发送的 register、renew 和 cancel 请求并更新 registry 注册表之后,使二级缓存失效invalidate(Key... keys);
 * Eureka Server 自身的 Evict Task 剔除服务后,删除二级缓存;
 * 二级缓存本身设置了 guava 的失效机制,隔一段时间后自己自动失效

* 更新机制

 * Eureka Client 获取全量或者增量的数据时,会先从一级缓存中获取;如果一级缓存中不存在,再从二级缓存中获取;如果二级缓存也不存在,这时候先将registry的数据同步到二级缓存中,再从缓存中获取
 * 定时更新一级缓存的时候,会读取二级缓存,如果二级缓存没有数据,也会触发load,拉取registry的注册数据

接口层

Spring Cloud 核心子项目

Spring Cloud Netflix

结语