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回退机制

基于consul的服务注册(含踩坑过程)

Oauth2.0 整合springCloud的Zuul 解决关键BUG 报错信息:Principal must not be null

Spring Cloud Alibaba - 02 SpringCloud SpringCloud Alibaba SpringBoot的生产版本选择

Spring Cloud

spring cloud 服务注册、发现了解