SpringCloud - Spring Cloud Netflix 之 Eureka 控制台界面详解
Posted MinggeQingchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud - Spring Cloud Netflix 之 Eureka 控制台界面详解相关的知识,希望对你有一定的参考价值。
Eureka是Netflix的子模块之一,也是一个核心的模块,Eureka 采用了 C-S(客户端/服务端)的设计架构,也就是 Eureka 由两个组件组成:Eureka 服务端和 Eureka 客户端。
Eureka Server(一个独立的项目) 用于注册服务以及实现服务的负载平衡和故障转移,它是服务的注册中心,Eureka Client(我们的微服务) 它是用于与Eureka Server交互,获取其上注册的服务,使得交互变得非常简单,只需要通过服务标识符即可拿到服务。
1、新建一个springboot Module(springcloud-3-service-eureka)
2、添加 web,eureka-server 依赖
<dependencies>
<!--spring web 起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Spring Cloud 的 eureka-server 起步依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
3、application.prperties配置文件中配置访问端口8761,以及配置 Eureka服务注册中心信息
#内嵌Tomcat端口
server.port=8761
#设置该服务注册中心的hostname
eureka.instance.hostname=localhost
#由于目前创建的应用是一个服务注册中心,而不是普通应用;默认情况下,这个应用会向注册中心(它自己)注册自己,设置FALSE表示禁止自己向自己注册的默认行为
eureka.client.register-with-eureka=false
#表示不去从服务端检索其他服务信息,因为自己就是服务端,服务注册中心本身职责就是维护服务实例,不需要去检索其他服务
eureka.client.fetch-registry=false
#指定服务注册中心的位置
eureka.client.service-url.defaultZone=http://localhost:8761/eureka
4、在 Spring Boot 的入口类上添加一个@EnableEurekaServer 注解,开启 Eureka 注册中心服务端
@EnableEurekaServer //开启Eureka服务端
@SpringBootApplication
public class EurekaApplication
public static void main(String[] args)
SpringApplication.run(EurekaApplication.class, args);
5、启动 SpringBoot 程序,main 方法运行,浏览器输入访问 http://localhost:8761/
1、System Status
Environment:环境,默认值为test,在实际使用过程中,可以不用更改
Data center:数据中心,在Hoxton.SR12版本中默认值为default,网上其他博客大部分都解释默认值为MyOwn,预测是版本的不同该值也不同
Current time:当前服务器时间
Uptime:已经运行时长,单位:时:分
Lease expiration enabled:租约过期是否启用,该值与自我保护机制相关,自我保护关闭时该值为true,开启时为false
Renews threshold:每分钟最少续约数,算法公式:2 * n * 0.85,n表示节点数量(包括注册中心)
Renews (last min):最后一分钟的续约数量(接受到的心跳数,不含当前,每分钟更新一次),当该值除以Renews threshold的结果小于等于1时会触发自我保护机制的开启
2、红字提醒
THE SELF PRESERVATION MODE IS TURNED OFF. THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
自我保护机制被关闭,这将导致在网络或者其他异常发生的情况下不会保护过期的实例
RENEWALS ARE LESSER THAN THE THRESHOLD. THE SELF PRESERVATION MODE IS TURNED OFF. THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
续约阀值过低,自我保护机制被关闭,这将导致在网络或者其他异常发生的情况下不会保护过期的实例
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.
紧急!因续约阀值过低,Eureka自我保护机制已启动,为安全起见,可能导致一些本已过期的实例不会被剔除注册中心
如图:
3、DS Replicas
Eureka 集群节点副本
Instances currently registered with Eureka;当前注册到Eureka的实例
Application:实例名称
AMIs:暂时未知是什么
Availability Zones:可用区域数量,也就是该实例节点数
Status:实例状态(包括实例ID)
4、General Info
一般信息
total-avail-memory:总共可用内存
environment:环境名称
num-of-cpus:CPU数量(包括逻辑处理器)
current-memory-usage:当前已使用内存百分比
server-uptime:服务已经运行时长,单位:时:分
registered-replicas:向其他注册中心注册的副本地址
unavailable-replicas:不可用的副本地址
available-replicas:可用的副本地址
5、Instance Info
实例信息
ipAddr:当前实例IP地址
status:当前实例状态
LAST 1000 SINCE STARTUP
Last 1000 cancelled leases
最后1000个取消续约的实例
Last 1000 newly registered leases
最后1000个新注册续约的实例
以上是关于SpringCloud - Spring Cloud Netflix 之 Eureka 控制台界面详解的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud总结29.Zuul的FallBack回退机制
Oauth2.0 整合springCloud的Zuul 解决关键BUG 报错信息:Principal must not be null
Spring Cloud Alibaba - 02 SpringCloud SpringCloud Alibaba SpringBoot的生产版本选择