服务注册与发现-Eureka

概述

Eureka是Spring Cloud Netflix微服务套件中的一部分,可以与Springboot构建的微服务很容易的整合起来。Eureka包含了服务器端和客户端组件。服务器端,也被称作是服务注册中心,用于提供服务的注册与发现。Eureka支持高可用的配置,当集群中有分片出现故障时,Eureka就会转入自动保护模式,它允许分片故障期间继续提供服务的发现和注册,当故障分片恢复正常时,集群中其他分片会把他们的状态再次同步回来。客户端组件包含服务消费者与服务生产者。在应用程序运行时,Eureka客户端向注册中心注册自身提供的服务并周期性的发送心跳来更新它的服务租约。同时也可以从服务端查询当前注册的服务信息并把他们缓存到本地并周期性的刷新服务状态。

适用场景

 

架构

服务启动后向Eureka注册,Eureka Server会将注册信息向其他Eureka Server进行同步,当服务消费者要调用服务提供者,则向服务注册中心获取服务提供者地址,然后会将服务提供者地址缓存在本地,下次再调用时,则直接从本地缓存中取,完成一次调用。

当服务注册中心Eureka Server检测到服务提供者因为宕机、网络原因不可用时,则在服务注册中心将服务置为DOWN状态,并把当前服务提供者状态向订阅者发布,订阅过的服务消费者更新本地缓存。

服务提供者在启动后,周期性(默认30秒)向Eureka Server发送心跳,以证明当前服务是可用状态。Eureka Server在一定的时间(默认90秒)未收到客户端的心跳,则认为服务宕机,注销该实例。

 

关键配置说明

eureka.client.register-with-eureka : 该参数代表该Eureka应用(包括注册中心)是否注册到注册中心中,如果只是一个单一注册中心,那么把该参数设置为false,代表不向注册中心注册自己。如果是搭建高可用的集群注册中心,则该属性设置为true。该属性值默认true。
eureka.client.fetch-registry : 该参数代表是否需要检索服务,如果是单一注册中心则不需要去检索服务,则设置为false。该参数默认值为true。
eureka.client.serviceUrl.defaultZone : 该参数指定默认注册中心的注册地址,其他的微服务应用就是通过该属性值来注册服务。
eureka.server.enable-self-preservation :设置为false 代表关闭注册中心的保护机制,默认为true。

关键注解说明

@EnableEurekaServer 该注解启动一个服务注册中心提供给其他应用进行对话。

 

posted on 2018-08-10 10:02  hankal  阅读(186)  评论(0编辑  收藏  举报

导航