上两篇讲解 Eureka 源码的文章过于硬核:
领导让我研究 Eureka 源码 | 启动过程
领导“叕”让我研究 Eureka 源码:注册过程
周末来点轻松点的!
本篇将会给大家讲解我在本地搭建的 Eureka 集群环境下,Eureka 控制台的参数说明。
系统状态
首先就得进入Eureka控制台页面,本地可以通过访问 http://localhost:8762/ 打开。
最上面的是 System Status,就是系统状态。
System Status
Environment: 环境,默认为 test
。
Data center:数据中心,默认为 default
。
Current time:当前的系统时间。
Uptime:已经运行了多长时间。
Lease expiration enabled:是否启用租约过期 ,自我保护机制关闭时,该值默认是 true, 自我保护机制开启之后为 false。
Renews threshold:期望每分钟最少续约数。也就是 Eureka Server 期望每分钟收到客户端实例续约的总数。目前悟空我的机器上显示的 3 个。
Renews (last min):最后一分钟的续约数量(不含当前,1分钟更新一次),Eureka Server 最后 1 分钟收到客户端实例续约的总数。目前悟空我的机器上显示的 2 个。
自我保护机制
系统在三种情况下会出现红色加粗的字体提示:
- 1)自我保护机制配置已经配置成关闭了。
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.
关闭自我保护模式
代码语言:javascript复制eureka.server.enable-self-preservation = false
- 2)自我保护机制开启了
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 的自我保护模式是非常有意义的,该模式被激活后,它不会从注册列表中剔除因长时间没收到心跳导致租期过期的服务,而是等待修复,直到心跳恢复正常之后,它自动退出自我保护模式。
这种模式旨在避免因网络分区故障导致服务不可用的问题。
例如:两个客户端实例 C1 和 C2 的连通性是良好的,但是由于网络故障,C2 未能及时向 Eureka 发送心跳续约,这时候 Eureka 不能简单的将 C2 从注册表中剔除。因为如果剔除了,C1 就无法从 Eureka 服务器中获取 C2 注册的服务,但是这时候 C2 服务是可用的。
- 3)在配置上,自我保护机制关闭了,但是一分钟内的续约数没有达到85% , 可能发生了网络分区,会有如下提示
THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.
集群信息
DS Replicas 代表集群信息,当有多个 Eureka Server 组成集群时,DS Replicas 会展示集群 的其他节点。当前是单节点的。
如果配置成集群环境
,则会显示其他服务,而且在服务实例列表里面也会显示集群节点。
已注册的实例列表
已注册的实例列表会显示在 Instances currently registered with Eureka 列表里面。目前显示了一个,
名称:SERVICEA
状态:UP (1) - localhost:ServiceA:8006
通用信息
total-avail-memory : 总共可用的内存,598 MB。
environment : 环境名称,默认 test。
num-of-cpus : CPU 的个数,12 核。
current-memory-usage : 当前已经使用内存的百分比,使用了 110 MB,使用率 18%。
server-uptime : 服务已启动时间,6 分钟。
registered-replicas : 当前 Eureka Server 是往哪个 Eureka Server 进行注册的。悟空我的本机是 eureka-server1 往 eureka-server 2 进行注册了。
unavailable-replicas :不可用的集群复制节点,用法没懂。
available-replicas :可用的相邻集群复制节点。
服务实例信息
ipAddr:Eureka 服务端 IP。status:Eureka 服务端状态。
最近 1000 个取消的租约
Last 1000 cancelled leases 这个列表里面会显示最近 1000 个取消的租约。
Last 1000 newly registered leases,这个列表里面会显示 最后1000个新注册的租约。比如悟空我的机器上就是 Service A。
- END -