Eureka 参数调优

Posted interfacehwx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eureka 参数调优相关的知识,希望对你有一定的参考价值。

常见问题

  为什么服务下线了,Eureka Server 接口返回的信息还会存在。
  为什么服务上线了,Eureka Client 不能及时获取到。
  为什么有时候会出现如下提示:
  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 Server 并不是强一致的,因此 registry 中会存留过期的实例信息,这里头有几个原因:

  应用实例异常挂掉,没能在挂掉之前告知 Eureka Server 要下线掉该服务实例信息。这个就需要依赖 Eureka Server 的 EvictionTask 去剔除。
  应用实例下线时有告知 Eureka Server 下线,但是由于 Eureka Server 的 REST API 有 response cache,因此需要等待缓存过期才能更新。
  Eureka Server 由于开启并引入了 SELF PRESERVATION 模式,导致 registry 的信息不会因为过期而被剔除掉,直到退出 SELF PRESERVATION 模式。
??针对 Client 下线没有通知 Eureka Server 的问题,可以调整 EvictionTask 的调度频率,比如下面配置将调度间隔从默认的 60 秒,调整为 5 秒:
技术分享图片

 

技术分享图片

技术分享图片

 

安全验证

我们启动了Eureka Server,然后在浏览器中输入http://localhost:8761/后,直接回车,就进入了spring cloud的服务治理页面,这么做在生产环境是极不安全的,下面,我们就给Eureka Server加上安全的用户认证.

(1)pom文件中引入依赖

<dependency> 

   <groupId>org.springframework.boot</groupId> 

   <artifactId>spring-boot-starter-security</artifactId> 

</dependency> 

(2)serviceurl中加入安全校验信息

eureka.client.serviceUrl.defaultZone=http://<username>:<password>@${eureka.instance.hostname}:${server.port}/eureka/

 












以上是关于Eureka 参数调优的主要内容,如果未能解决你的问题,请参考以下文章

Hive调优参数篇

「JVM」调优参数总结

hadoop 调优措施 调优参数

JVM调优常用参数配置

调优IntelliJ IDEA的JVM参数

jvm GC参数调优