Eureka常见问题
一 Eureka注册慢问题
默认情况下,服务注册到Eureka Server过程较慢。在开发或测试时,常常希望加速这一过程,从而提高工作效率。
服务注册涉及到周期性心跳,默认30秒一次。只有当实例、服务端和客户端的本地缓存中的元数据都相同时,服务才能被其他客户端发现(所以可能需要3次心跳)。
可以使用参数eureka.instance.leaseRenewalintervalInSeconds修改时间间隔,从而加快客户端连接到其他服务的过程。在生产环境中最好坚持使用默认值,因为在服务器内部有一些计算,它们会对续约做出假设。
综上,要想解决服务注册慢的问题,只须将eureka.instance.leaseRenewalintervalInSeconds设成一个更小的值。该配置用于设置Eureka Client向Eureka Server发送心跳的时间间隔,默认是30,单位是秒。在生产环境中,建议坚持使用默认值。
二 已停止的微服务节点注销慢或不注销
1 原因
在开发环境下,常常希望Eureka Server能快速有效地注销已停止的微服务实例。然而,由于Eureka Server清理无效节点周期长(默认90秒),以及自我保护模式等原因,可能会遇到微服务注销慢甚至不注销问题。
2 解决方法:
Eureka Server端:
配置关闭自我保护,并按需配置Eureka Server清理无效节点的时间间隔。
eureka.server.enable-self-preservation
#设为false,关闭自我保护,从而保证会注销微服务
eureka.server.eviction-interval-time-in-ms
#清理间隔(单位毫秒,默认是60*1000)
Eureka Client端:
配置开启健康检查,并按需配置续约更新时间和到期时间。
eureka.client.healthcheck.enabled
#设为true,开启健康检查(需要sping-boot-start-actuator依赖)
eureka.instance.lease-renewal-interval-in-seconds
#续约更新时间间隔(默认30秒)
eureka.instance.lease-expiration-duration-in-seconds
#续约到期时间(默认90秒)
注意:这些配置仅在开发或测试时使用,生产环境建议坚持使用默认值。
3 实例
Eureka Server配置:
eureka:
server:
eureka.server.enable-self-preservation: false
eureka.server.eviction-interval-time-in-ms: 4000
Eureka Client配置:
eureka:
client:
healthcheck:
enabled: true
instance:
lease-expiration-duration-in-seconds: 30
lease-renewal-interval-in-seconds: 10
三 如何自定义微服务的Instance ID
Instance ID用于唯一标识注册到Eureka Server上的微服务实例。
在Eureka Server首页可以直观地看到各个微服务的Instance ID。
在Spring Cloud中,服务的Instance ID默认值是${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}。如果想要自定义这部分内容,只须在微服务中配置eureka.instance.instance-id属性即可,例如:
spring:
application:
name: microservice-prodider-user
eureka:
instance:
#将Instance ID设置为IP:端口的形式
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
这样,就可将微服务microservice-prodider-user的Instance ID设为 IP:端口的形式。
四 Eureka 的UNKNOWN问题总结与解决
注册UNKNOWN问题,一般分两种情况,一种是应用名称UNKNOWN,另外一种是应用状态UNKNOWN。下面分别讨论这两种情况。
1 应用名称UNKNOWN
未配置spring.application.name或者eueka.instance.appname属性。如果这两属性都不配置,就会导致应用名称UNKNOWN问题。
2 微服务实例状态UNKNOWN
微服务实例的状态UNKNOWN同样很麻烦。一般来讲,只会请求状态是UP的微服务。该问题一般由监控检查导致。
eureka.client.healthcheck.enabled=true必须设置在application.yml中,而不能设置在bootstrap.yml中,否则一些场景下会导致UNKNOWN的问题。
---------------------
作者:cakincqm
来源:CSDN
原文:https://blog.csdn.net/chengqiuming/article/details/80948516
版权声明:本文为博主原创文章,转载请附上博文链接!
Eureka常见问题的更多相关文章
- spring cloud Eureka常见问题总结
Spring Cloud中,Eureka常见问题总结. 指定Eureka的Environment 1 eureka.environment: 指定环境 参考文档:https://github.com/ ...
- Spring Cloud中,Eureka常见问题总结
Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...
- Eureka常见问题总结
在Spring-cloud做微服务架构时,会碰到各种坑.下面总结一下Eureka的常见问题. 一.Eureka的自我保护模式 如果在Eureka Server的首页看到以下这段提示,则说明Eure ...
- Spring Cloud Eureka 服务注册列表显示 IP 配置问题
服务提供者向 Eureka 注册中心注册,默认以 hostname 的形式显示,Eureka 服务页面显示的服务是机器名:端口,并不是IP+端口的形式 ,可以通过修改服务提供者配置自己的 IP 地址, ...
- SpringCloud——Eureka服务注册和发现
一.SpringCloud和Dubbo SpringCloud整合了一套较为完整的微服务解决方案框架,而Dubbo只是解决了微服务的几个方面的问题. content Dubbo SpringCloud ...
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
- Spring Cloud与Docker微服务架构实战 PDF
电子版百度云下载 链接: https://pan.baidu.com/s/115u011CJ8MZzJx_NqutyTQ 提取码: 关注公众号[GitHubCN]回复2019获取 本书的代码 共计70 ...
- Spring Cloud(一):服务治理技术概览【Finchley 版】
Spring Cloud(一):服务治理技术概览[Finchley 版] 发表于 2018-04-14 | 更新于 2018-05-07 | Spring Cloud Netflix 是 Spr ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
随机推荐
- Jenkins 更新 jenkins.war的方法
Jenkins 有时候更新,直接是主页提示下载 jenkins.war只需要把下载的jenkins.war 替换原来的jenkins.war 就可以了那么问题来了? 原来的 jenkins.war 到 ...
- PyTorch Tutorials 2 AUTOGRAD: AUTOMATIC DIFFERENTIATION
%matplotlib inline Autograd: 自动求导机制 PyTorch 中所有神经网络的核心是 autograd 包. 我们先简单介绍一下这个包,然后训练第一个简单的神经网络. aut ...
- 深入理解DefaultMessageListenerContainer
DefaultMessageListenerContainer是一个用于异步消息监听的管理类. DefaultMessageListenerContainer最简单的实现逻辑,一个任务执行器,执行任务 ...
- React vs. Angular vs. Vue
原文连接 历史 React是一个用于构建Web应用程序UI组件的JavaScript库. React由Facebook维护,许多领先的科技品牌在其开发环境中使用React. React被Faceboo ...
- linux常用的命令和工具
screen 管理会话工具 与之相似的工具还有tmux # screen // 进入一个回话 .还可以给会话取名 screen -S modify_screen #vim screen.txt ...
- (十三)过滤器Filter(转)
--------转自孤傲苍狼博客 一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例 ...
- 解决微信小程序textarea层级太高遮挡其他组件的问题
<view class='remark'> <view class='title'> 备注说明 </view> <textarea class='mark_t ...
- Docker安装LogonTracer
LogonTracer LogonTracer:是一款用于可视化分析Windows安全事件日志寻找恶意登录的工具.它会将登录相关事件中找到的主机名(或IP地址)和帐户名称关联起来,并将其以图形化的方式 ...
- laravel的workflow流程插件
原文地址:https://github.com/brexis/laravel-workflow
- 要开始恶补Layer4-7 TCP/IP相关的姿势了,今天立个Flag
今天开区域销售会,被老板K了一顿大的!(:/手动委屈:) 说产品出来这么久,怎么没看到你们的跟接触客户的使用报告记录,一年快到头了,试用客户才个位数?你们了解自己的产品吗,然后轮着上去一个个做功能演示 ...