F versión SpringCloud 5-Eureka clusters y mecanismos de autoprotección

Dirección de origen: https: //gitee.com/bingqilinpeishenme/Java-Tutorials

prefacio

El último artículo, el código de registro construida por Eureka y el cliente es una sencilla aplicación de Eureka, en este artículo se explicará más sobre Eureka aplicaciones de servidor de los principios.

mecanismo de autoprotección Eureka

Inscripción en el mecanismo de autoprotección [enfoque]

En el proceso de utilización de Eureka, a veces se ve el siguiente contenido en el lado del servicio de la página Eureka:

En la página Supervisión verá una fila de niños rojos, estos niños de color rojo ¿Qué significa? Eureka registrado en nombre de la central en el mecanismo de autoprotección.

Lo que es un mecanismo de autoprotección [enfoque]

Por defecto, si Eureka Server no se recibe dentro de una instancia de servicio latidos cierto tiempo, Eureka, se cancelará la instancia (por defecto 90 segundos). Pero cuando la partición de red falla, los clientes de micro y servicio Eureka servidor no puede comunicarse correctamente. Por encima de la conducta puede llegar a ser particularmente peligrosa, porque el propio servicio de micro es saludable, esta vez no puede cancelar la instancia de servicio.

Eureka a resolver este problema a través del mecanismo de autoprotección, cuando Eureka servidor pérdida excesiva de instancias de servicio en un corto período de tiempo (insuficiencia partición de red puede haber ocurrido), entonces el Eureka Server en el modo de auto-protección, Una vez en este modo, Eureka servidor protegerá información de registro de servicios, no elimina los datos del registro de servicio (que ya no se da de baja cualquier instancia de servicio), cuando la recuperación de fallos de la red, Eureka servidor saldrá automáticamente del modo de autoprotección.

En resumen, el modo de auto-protección es una medida de seguridad para hacer frente a fallo de la red , su arquitectura es más bien la filosofía, conservando todos los micro-servicios, ni ciegamente cancelar cualquier servicio de micro de salud, el uso del modo de autoprotección permite Eureka, más robusto estable.

En pocas palabras: una amplia zona cuando un cliente de la falta, el registro de Eureka en el modo de auto-protección, No se saca de cualquier instancia

Configurar mecanismos de autoprotección

En Eureka Server mecanismos de autoprotección en la configuración cerrada

#关闭自我保护机制  默认开启
eureka.server.enable-self-preservation=false
复制代码

如果想及时剔除失效的eureka服务除了关闭自我保护机制外,可以调低eureka的心跳值

eureka-server服务端
配置文件中我们添加如下配置

#关闭保护机制,以确保注册中心将不可用的实例正确剔除
eureka.server.enable-self-preservation=false
#(代表是5秒,单位是毫秒,清理失效服务的间隔 )
eureka.server.eviction-interval-timer-in-ms=5000

复制代码
客户端
配置文件中我们添加如下配置

# 心跳检测检测与续约时间
# 测试时将值设置设置小些,保证服务关闭后注册中心能及时踢出服务
# 配置说明
#  lease-renewal-interval-in-seconds 每间隔10s,向服务端发送一次心跳,证明自己依然”存活“
#  lease-expiration-duration-in-seconds 告诉服务端,如果我20s之内没有给你发心跳,就代表我“死”了,将我踢出掉。
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=20
复制代码

注册中心高可用「注册中心集群」

注册中心集群 防止单点故障

Eureka可以通过运行多个实例并互相注册实现高可用部署,Eureka Server实例会彼此同步信息。

创建并配置Eureka集群

Tips:代码在前上篇教程的基础上开发,源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials

1.创建第二个Eureka服务端 eureka-server-8800

2.修改pom文件

3.创建并修改启动类

package com.lby;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
* @author luxiaoyang
* @create 2020-03-30-20:36
*/
@EnableEurekaServer
@SpringBootApplication
public class EurekaServer8800 {
public static void main(String[] args) {
SpringApplication.run(EurekaServer8800.class,args);
}
}

复制代码

4.写配置文件

5.修改注册中心eureka-server-8801的配置文件

注册中心之间的基本逻辑是:互相注册

此时我们就拥有了一个Eureka注册中心的集群

6.修改所有客户端的配置,客户端需要向 注册中心集群注册 所以需要配置所有注册中心的地址

演示注册中心集群的效果

1.启动所有的注册中心和客户端

2.查看Eureka注册中心管理页面

查看注册中心 8800 的管理页面,可以看到客户端可以正常注册

查看注册中心 8801 的管理页面,可以看到客户端也可以正常注册

3.关闭一个注册中心8800,注册中心8801不受任何影响,整个微服务的集群也不受任何影响,客户端可以正常注册

总结

以上就是Eureka注册中心高可用和自我保护机制的相关内容。

源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials

恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

要掌握SpringCloud更多的用法,请持续关注本系列教程。

求关注,求点赞,求转发

欢迎关注本人公众号:鹿老师的Java笔记,将在长期更新Java技术图文教程和视频教程,Java学习经验,Java面试经验以及Java实战开发经验。

Supongo que te gusta

Origin juejin.im/post/5e81eafc6fb9a03c4857630d
Recomendado
Clasificación