1、在Eureka中不能看到具体服务的实例信息;

问题点:服务注册到 Eureka 之后,可以看到在 “Status” 显示的服务信息不明确(不知道具体的服务名等信息),如下图所示:

解决方法:

在服务的application.yml配置文件中,增加 instance-id 的信息,如下图所示:

eureka:
client: # 客户端注册进eureka内
service-url:
defaultZone: http://eureka7001.com:7001/eureka/
instance:
instance-id: microservicecloud-provider-dept-8001

重启 Eureka 和 服务,然后打开:http://localhost:7001,可以看到如下所示的页面,“Status”中显示的是 instance-id 中定义的名字;

2、将鼠标放在“Status"中,页面的左下角显示链接的地址不明确(未显示IP)

解决方法:

  将服务的 instance 下的 prefer-ip-address 设置为 true; (访问路径可以显示IP),如下所示:

重启服务,接着打开eureka的页面,鼠标放在”Status“上,如下所示(显示IP)

3、打开Eureka页面,点击注册的服务的“Status”的超链接之后报错

解决方法:

(1)修改注册服务(microservicecloud-provider-dept-8001) 的pom.xml文件,增加如下依赖:

<!-- actuator监控信息完善 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

(2)总的父工程(microservicecloud)修改pom.xml文件,添加构建build信息

<build>
<finalName>microservicecloud</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimit>$</delimit>
</delimiters>
</configuration>
</plugin>
</plugins>
</build>

(3)打开注册服务(microservicecloud-provider-dept-8001) 的application.yml文件,增加如下信息:

info:
app.name: yufeng-microservicecloud
company.name: www.yufeng.com
build.artifactId: $project.artifactId$
build.version: $project.version$

重启注册的服务,点击之后得到如下信息

4、Eureka的自我保护机制:

默认情况下,若EurekaServer 在一定时间内没接收到某个微服务实例的心跳,Eureka将会注销该实例(默认90秒);

当网络故障发生时,微服务和Eureka服务是无法正常通信的,以上行为可能就变得很危险(实际上微服务本身是健康的,此时不应该注销这个服务);

Eureka通过“自我保护模式”来解决这个问题:当EurekaServer节点在短时间间内丢失过多客户端时(可能是网络故障),那么这个节点就会进入自我保护模式。一旦进入自我保护模式,EurekaServer就会保护服务注册表中的信息,不再删除服务注册表中的数据(即不会注销任何微服务)。当网络故障恢复后,该EurekaServer节点会自动退出自我保护模式。

Eureka的自我保护机制:某个时刻一个微服务不可用了,Eureka不会立刻清理,依旧会对该服务的信息进行保存;

在配置文件中使用 eureka.server.enable-self-preservation = false ,禁用自我保护模式

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.

最新文章

  1. 通过nginx代理之后,获取客户端ip
  2. CSS3的@keyframes用法详解:
  3. 《HelloGitHub月刊》第05期
  4. GoLang之协程
  5. 巧用array_map()和array_reduce()替代foreach循环
  6. JAVA Day5
  7. JSP内置对象---request和 response
  8. svn服务器及客户端安装使用
  9. Setting up Nutch 2.1 with MySQL to handle UTF-8
  10. C++中如何建立一个顺序表
  11. 用JSmooth制作java jar文件的可运行exe文件教程【图文】
  12. 开源力量公开课第三十期- 跟我一起玩转OpenStack
  13. Fizzler
  14. Swap Nodes in Pairs leetcode
  15. 版本控制——TortoiseSVN (3)多版本发布
  16. 【BZOJ1801】【AHOI2009】中国象棋(动态规划)
  17. Pygame常用方法
  18. IntelliJ IDEA部署tomcat时Edit Configuration Deployment无artifact选项
  19. 【Code Tools】Java微基准测试工具JMH之入门篇
  20. 自己没有记住的一点小知识(ORM查询相关)

热门文章

  1. js长整型的失真问题解决
  2. 003.[python学习] 简单抓取豆瓣网电影信息程序
  3. Nagios Email告警 发不了,可能是 /var/spool/mqueue nagios用户没权限
  4. vue+sass实现切换字体大小
  5. Laravel--查询构造器 方法 及聚合函数
  6. django 加载css、js和图片记载不上
  7. Mac 系统下创建可双击执行文件,cd到执行文件当前目录
  8. JetBrains 产品线破解方法
  9. loadrunner飞机订票系统从登陆订票退票登出的脚本实现代码调试通过
  10. 转载:C# socket端口复用-多主机头绑定