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
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/Struts-pring/p/10901689.html

时间: 2024-08-30 14:31:07

Eureka常见问题的相关文章

Spring Cloud中,Eureka常见问题总结

Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项: 1 eureka.instance.leaseRenewalIntervalInSeconds 参考文档: 1 2 3 Why is it so Slow to Register a Service? Being an instance also involves a periodic hear

Springcloud分布式微服务多用户商城系统b2b2c-Spring Cloud常见问题

在使用Spring Cloud的过程中,难免会遇到一些问题.所以对Spring Cloud的常用问题做一些总结.需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:三五三六二四七二五九 一.Eureka常见问题 Eureka 注册服务慢 默认情况下,服务注册到Eureka Server的过程较慢.在开发或测试时,常常希望能够加速这一过程,从而提升工作效率. 该问题的原因及解决方案: 服务的注册涉及周期性心跳,默认30秒一次(通过客户端配置的service

《Spring Cloud与Docker微服务架构实战》配套代码

不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将代码放出. 本次放出的代码: 共计70+个DEMO 覆盖Eureka.Ribbon.Feign.Hystrix.Zuul.Spring Cloud Config.Spring Cloud Bus.Spring Cloud Sleuth.Docker.Docker Compose等. 1-11章代码地址: ht

Eureka、Ribbon、Feign常见问题及解决

1.Eureka常见问 1.1.Eureka Enviroment 的配置 eureka.enviroment=product 参考 https://github.com/Netflix/eureka/wiki/Configuring-Eureka 1.2.Eureka Datacenter 的配置 eureka.datacenter=cloud 配置eureka.datacenter=cloud,这样eureka就知道是在AWS云上 1.3.Eureka 开启自我保护的提示 EMERGENCY

Eureka 注册中心

1.eureka版本更新后,pom依赖名称变化 v1.2.7spring-cloud-starter-eureka-server v2.0.0spring-cloud-starter-netflix-eureka-server 2.常用注解 @EnableEurekaServer注解 表示开启EurekaServer服务,开启注册中心 @EnableEurekaClient注解 表示将当前服务注册到Eureka上 3.常见问题 1)以别名方式运行必须调用依赖ribbon负载均衡器 @LoadBa

【转】Eureka服务注册中心搭建

转自:https://blog.csdn.net/pengjunlee/article/details/86538997 Spring Cloud是一系列框架的集合,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,构建了服务治理(服务注册与发现).配置中心.消息总线.负载均衡.断路器.数据监控.分布式会话和集群状态管理等功能,为我们提供一整套企业级分布式云应用的完美解决方案. Spring Cloud的服务治理等核心功能主要是通过Spring Cloud Netfl

PHP常见问题及解答

当作PHP学习时,总是会在baidu上查很多的例如开发环境的选择呀,PHP好不好呀!或者是不是转学JAVA,或是.NET等: 首先本人是从2010年下半年开始报名学的PHP(IN Guangzhou),每周一天学了近6个月左右,从最基础的HTML,CSS,DIV,JAVASCRIPT,AJAX,PHP,然后学二次开发:闲暇之余还开通了一个个人blog( PHP wordpress); 由于个人工作原因,这几年放了一段时间未动PHP了,今年开始又自学了.NET; ---目的就想业余做一份兼职,锻炼

微信JS-SDK说明文档及常见问题处理

概述 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用微信分享.扫一扫.卡券.支付等微信特有的能力,为微信用户提供更优质的网页体验. 此文档面向网页开发者介绍微信JS-SDK如何使用及相关注意事项. 使用说明 在使用微信JS-SDK对应的JS接口前,需确保公众号已获得使用对应JS接口的权限,可登录微信公众平台进入“开发者中心”查看对应的接口权限. 注意:

Spring Cloud官方文档中文版-服务发现:Eureka服务端

官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR3/#spring-cloud-eureka-server 文中例子我做了一些测试在:http://git.oschina.net/dreamingodd/spring-cloud-preparation Service Discovery: Eureka Server 服务发现:Eureka服务端 How to Include Eureka Server 如何创建Eurek