4. Eureka Client

使用spring cloud每次必须启动Eureka server服务,但是每次启动idea去启动Eureka Server的服务又很麻烦,所以我们可以将该项目打包成一个jar包 启动该jar包。
后台运行语句
在这里插入图片描述

创建client项目 创建方法和创建server相同 只不过在选择Spring Discovery时不同
在这里插入图片描述

在启动类上加注解@EnableDiscoveryClient 并配置yml文件

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
spring:
  application:
    name: client
server:
  port: 8888

启动后查看 server 显示连接结果,注意如果client启动就关闭连接那么在pom.xml文件中引入spring boot web 的包就可以了

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

在这里插入图片描述

其中status那个地址是 点进去是这个应用的信息,如果我们不想显示这个地址 想自定义 那么需要修改yml文件。添加hostname

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
  instance:
    hostname: client

重启 当重新点进去后 ip变为client
在这里插入图片描述

在这里插入图片描述
不断重启client服务会出现一个报警 这个是在server中出现的一个报警,为什么会出现这个报警呢
因为Eureka server端和client端采用的是心跳的机制,server会不停的去检查client是否上线,在一定时间 server会统计client的存活率,当存活率低于一定值的时候就会出现这个报警。意思就是这个client上线率太低了,可能我现在都不知道你是上线还是下线,但是虽然我不知道 但是我会当做是你上线,其实是一种自我保护

假设我们有100个客户端,Client1失败的时候,会在90S后移除。2、假设一开始只有Client1,开启保护了,然后又新注册了100个上来,会再下一个Client失败的时候,将该失败的Client和Client1一并移除。
自我保护机制的工作机制是:如果在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制
在开发环境可以将这个设置关闭,避免当你在调用微服务的时候显示上线 但是实际是下线;

需要在server端yml文件下配置:

eureka:
	server:
	    enable-self-preservation: false

重启重新访问后 那个报警已经没有了,但是出现一个新报警,意思是自我保护模式被关闭了 建议不要关闭。所以在开发中能关闭 但是在生产中一定不要关闭
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值