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.

Spring Cloud的小改进(五)的更多相关文章

  1. spring cloud微服务实践五

    本篇我们来看看怎么实现spring cloud的配置中心. 在分布式系统中,特别是微服务架构下,可能会存在许多的服务,每个服务都会存在一个或多个的配置文件.那怎么多的配置文件的管理就会成为一个大问题. ...

  2. Spring Cloud Alibaba系列(五)sentinel实现服务限流降级

    一.sentinel是什么 sentinel的官方名称叫分布式系统的流量防卫兵.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.在Spring Clou ...

  3. Spring Cloud 2-Hystrix DashBoard仪表盘(五)

    Spring Cloud  Hystrix DashBoard  1.监控系统配置 pom.xml application.yml Application.java 2.被监控服务配置 pom.xml ...

  4. Spring Cloud Stream教程(五)编程模型

    本节介绍Spring Cloud Stream的编程模型.Spring Cloud Stream提供了许多预定义的注释,用于声明绑定的输入和输出通道,以及如何收听频道. 声明和绑定频道 触发绑定@En ...

  5. Spring Cloud Config教程(五)客户端使用

    要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例).添加依赖关系的最方便的方 ...

  6. Spring Cloud架构教程 (五)服务网关(过滤器)

    过滤器的作用 通过上面所述的两篇我们,我们已经能够实现请求的路由功能,所以我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了.但是,每个客户端用户请求微服务应用提供的接口时,它们 ...

  7. Spring Cloud Stream学习(五)入门

    前言: ​ 在了解完RabbitMQ后,再来学习SpringCloudStream就轻松很多了,SpringCloudStream现在主要支持两种消息中间件,一个是RabbitMQ,还有一个是KafK ...

  8. spring cloud(断路器——初学五)

    Feign使用Hystrix 因为feign已经依赖了hystrix,所以可以直接使用,无需添加再次添加依赖. 1.使用@FeignClient注解中的fallback属性指定回调类 package ...

  9. Spring Cloud学习笔记【五】Hystrix Dashboard监控面板

    ystrix除了隔离依赖服务的调用以外,Hystrix 还提供了准实时的调用监控(Hystrix Dashboard),Hystrix 会持续地记录所有通过 Hystrix 发起的请求的执行信息,并以 ...

随机推荐

  1. 学习excel的使用技巧统计文本出现的次数

    其实是使用一个函数来完成的 =ifcount(C1:C214,''test123") 统计c1到c214中出现的test123的次数

  2. OpenCL 矩阵乘法

    ▶ 矩阵乘法,按照书里的内容进行了几方面的优化,包括局部内存,矢量数据类型,寄存器,流水线等. ● 最直接的乘法.调用时 main.c 中使用 size_t globalSize[] = { rowA ...

  3. 全球DDOS安全防护

    转:http://www.safecdn.cn/ https://www.safeidc.cn/llqx.html 全球可视化的DDoS攻击地图:Digital Attack Map 这个项目是源于G ...

  4. 渐进反馈式搜索技术助力运维工程师——Linux命令高效检索

    日常生活工作中,我们通过搜索引擎查询相关资料时,经常遇到不知如何指定准确关键词的情况,仅仅根据指定大概范围的关键词时,搜索结果往往不能尽如人意. <信息导航>APP最新版本(Ver 1.1 ...

  5. Vue stage3

    <body> <div id="box1"> <div v-bind:class="{ 'active': isActive, 'error ...

  6. python使用xlrd, xlwt读取excel文件和 写入excel文件

    python 3.6 首先在cmd下执行安装指令 xlre和xlwt : pip  install  xlre    pip install  xlwt #-*- coding: utf8 -*-im ...

  7. 小程序官网CMS开源项目出炉,Weixin-App-CMS 1.0 版本正式发布

    Weixin-App-CMS 是捷微团队开发的微信小程序CMS开源项目,涵盖了微网站的基本功能,能够快速发布简单易用的小程序网站.采用工具“微信web开发”上传小程序,即可快速体验发布体验小程序网站. ...

  8. 记一次Monolog的BufferHandler使用

    laravel中可以设置自定义的日记channel(config/logging中设置),按照laravel-china的一篇文章,把log按一定格式并且以批量的方式写入日志文件: https://l ...

  9. ReactiveX 学习笔记(25)使用 RxJS + Vue.js 调用 REST API

    JSON : Placeholder JSON : Placeholder (https://jsonplaceholder.typicode.com/) 是一个用于测试的 REST API 网站. ...

  10. Tomcat源码分析 -- Tomcat整体架构

    引用链接:https://blog.csdn.net/w1992wishes/article/details/79242797