SpringCloud的服务注册中心(三) - 进一步了解 Eureka
2017-10-11 10:15
676 查看
一、服务治理参与者
服务注册中心: eureka-server服务提供者:HELLO-SERVICE
服务消费者 :HELLO-CONSUMER
很多时候,客户端既是服务提供者又是服务消费者,-》@EnableDiscoveryClient。
服务提供者和服务消费者都是Eureka的客户端,是大部分通信行为的主动发起者。
二、各参与者之间的交互模式
Application-Service --(注册、续约、下线)--》Eureka-Server
Application-Service --(获取registry)--》Eureka-Server
Application-Client --(获取registry)----》Eureka - Server
Application-Client --(本地负载均衡下的远程调用)----》Application - Service
Eureka-Server1 --(复制) --》 Eureka-Server2 --(复制) --》 Eureka-Server3 --(复制) --》 Eureka-ServerN
三、流程描述
1、服务提供者
1.1、服务注册
服务提供者 启动时发送rest请求注册自己到EurekaServer,注册自己的一些元数据。EurekaServer接收注册内容,放到双层map,第一层的key是服务名,第二层的key是具体服务实例名。
服务提供者:
eureka.client.register-with-eureka=true,默认值为true。否则将不会启动注册操作。
EurekaServer:
1.2、服务同步 - regist
服务注册中心之间因为互相注册为服务。所以,当服务提供者发送注册请求到一个服务注册中心时,它会将请求转发给集群中相连的其他注册中心,从而实现注册中心之间的服务同步。1.3、服务续约 - renew
注册完服务之后,服务提供者会维持一个心跳用来告诉EurekaServer:我还在,防止EurekaServer的剔除任务将该服务实例从服务列表中排除出去!2、服务消费者
2.1、获取服务
启动服务消费者时,服务消费者会发送一个请求给 服务注册中心,来获取上面注册的服务清单。服务注册中心会每隔30秒更新一次服务缓存清单。
2.2、服务调用
服务消费者获得服务清单后,通过服务名可以获得具体提供服务的实例名和实例元数据信息,可以根据需要决定调用哪个实例。ribbon中默认采用轮询方式进行调用,从而实现客户端的负载均衡。
2.3、服务下线
服务实例关闭,会触发一个服务下线的rest请求给EurekaServer,告诉服务器,我要下线了!服务端收到下线请求,将该服务实例状态设置为下线,并传播该下线事件。
3、服务注册中心
3.1、失效剔除
服务实例非正常下线,如:内存溢出、网络断开等原因导致服务实例无法正常工作时,服务注册中心无法按期收到“服务下线“消息请求。EurekaServer会有一个定时任务,默认每隔一段时间(60秒)从当前清单中剔除没有续约(默认90秒)的服务实例。
3.2、自我保护
EurekaServer统计心跳失败比例,如果15分钟内低于85%,则触发自我保护机制:保存当前实例信息,让这些实例不会过期。三、其他概念
针对区域性故障的容错集群一个region 对应多个 zone
微服务应用中使用ribbon调用服务时,会优先访问同客户端处于一个zone的服务实例,只有当同一个zone中没有可用的服务实例时才会访问其他zone中的实例。
相关文章推荐
- 【Spring Cloud】Eureka服务注册中心搭建
- springcloud微服务二:Eureka服务治理之服务注册中心
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- 【Spring Cloud】Eureka服务注册中心搭建
- SpringCloud服务注册与发现(Eureka 注册中心)
- 【微服务架构】SpringCloud之Eureka(注册中心集群篇)(三)
- spring cloud(二)服务(注册)中心Eureka
- 【Spring Cloud】Eureka服务注册中心搭建
- Spring Cloud Eureka 入门 (一)服务注册中心详解
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建
- Spring-Cloud-Eureka服务注册发现中心server+client案列模拟说明
- springcloud实战之3 高可用服务注册中心(eureka集群)
- 【Spring Cloud】三、Eureka Consumer 服务注册中心消费者调用服务
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建
- Spring Cloud Eureka 服务注册与发现中心(一)
- 微服务架构 SpringCloud(三)Eureka(注册中心集群篇)
- 【Spring Cloud】Eureka服务注册中心搭建
- 【Spring Cloud】Eureka服务注册中心搭建