springcloud eureka在单机模式下容易进入自我保护模式怎么办?

springcloud eureka作为springcloud的服务中心,主要分为两个方向,

一个是server端,

一个是client端。

client需要向server注册,并向server定时发送心跳,server会统计一定时间的心跳率,如果低于某一个值,就会触发server的自我保护机制。

这里这个自我保护机制很好理解,在做微服务的时候,如果网络太差,可能一个服务已经下线(可以理解为挂了),这个时候,server还是需要去接受心跳,但是心跳会等很久,这个时候,为了保证微服务是OK的,server就会进入自我保护机制,片面的认为,这个服务,还存在着。这样就可能导致本来一个服务已经挂了,但是强行调用,会报错。

报错如下:

在服务器上运行微服务的时候,不需要处理自我保护,因为这个机制,对于服务器来说,很好用。

但是在单机进行开发的时候,就需要关闭了,这样方便自己开发。

操作如下:

在eureka的sever端中,设置eureka.server.enable-self-preservation为false即可。

代码如下:

修改application.yml文件(如果使用properties,一样修改即可):

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  server:
    #关闭自我保护
    enable-self-preservation: false
spring:
  application:
    name: eurka-server

OK,然后重启服务端即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值