SpringCloud注册中心Eureka

Eureka 是 Netflix 开发的,一个基于 REST 服务的,服务注册与发现的组件

它主要包括两个组件:Eureka Server 和 Eureka Client

Eureka Client:一个Java客户端,用于简化与 Eureka Server 的交互(通常就是微服务中的客户端和服务端)
Eureka Server:提供服务注册和发现的能力(通常就是微服务中的注册中心)

首先配置Eureka 服务器,创建一个spring项目
勾选这两个
然后配置相关信息 application.yml

server:
  port: 7001  #端口号
eureka:
  instance:
    hostname: localhost   #eureka服务端实例名称
  client:
    register-with-eureka: false # false表示不向注册中心注册自己
    fetch-registry: false       # false表示自己就是注册中心 职责就是去维护服务的实力,不去检索服务
    serviceUrl: #设置与Eureka 服务端交互的地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

最后需要在启动类上加上注解 @EnableEurekaServer 声明

然后我们创建一个Erueka客户端工程
在这里插入图片描述
然后在application.yml 中配置信息 并且在启动类上加上注解@EnableEurekaClient 让spring知道这是Eureka客户端

server:
  port: 8001
spring:
  application:
    name: gmall-eureka-client   #配置应用名字

eureka:
  instance:
    hostname: localhost       #配置主机地址
  client:
    service-url:    #设置与Eureka 服务端交互的地址
      defaultZone: http://localhost:7001/eureka/

访问http://localhost:7001/eureka/ 显示如下既成功

在这里插入图片描述
Eureka的自我保护机制 :

当我们进行SpringCloud微服务开发的时候,有可能会出现如下的一些红色提示信息。这个是Eureka的自我保护机制。
在这里插入图片描述
Eureka的自我保护机制用最通俗的语言说就是:好死不如赖活着。

一句话:某时刻某一个微服不可用了,eureka不会立刻清理,依旧会对改微服的信息进行保存。
默认情况下,如果eureka server在一定时间内没有接收到每个微服务实例的心跳,eureka server将会注销该实例。
当网络分区故障发生时,微服务与eureka server之间无法正常通信,以上行为可能变得非常危险了,因为微服务本身其实是健康的,此时本不应该注销这个微服务。eureka通过“自我保护模式来解决这个问题”。

在自我保护模式中,eureka server会保护服务注册表中的信息,不再注销任何服务实例。当它收到的心跳数重新恢复到阀值以上时,该eureka server节点就会自动退出自我保护模式。

在application.yml 文件中可以加上这句话以禁用自我保护机制

eureka:
	server:
    	enable-self-preservation: false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值