Spring Cloud中Eureka開啟密碼認證


轉載自 https://blog.csdn.net/u011499747/article/details/77410997

Eureka服務端配置
添加spring-boot-starter-security
更改POM文件:


   
   
  
  
          
  1. <dependency>
  2. <groupId>org.springframework.boot </groupId>
  3. <artifactId>spring-boot-starter-security </artifactId>
  4. </dependency>


設置用戶名密碼
更改application.properties:


   
   
  
  
          
  1. security.user.password=dubby
  2. security.user. name=dubby


重啟,打開http://localhost:1111/,如果需要你輸入密碼,說明安全模塊生效了,輸入你設置的用戶名和密碼,可以進入就可以了。

è¿éåå¾çæè¿°

Eureka客戶端配置
更改application.properties:

eureka.client.serviceUrl.defaultZone=http://dubby:dubby@localhost:1111/eureka/
  
  
 
 
         


注意格式是

eureka.client.serviceUrl.defaultZone=http://${userName}:${password}@localhost:1111/eureka/
  
  
 
 
         


至此,Eureka的基本安全配置結束了。
 

==========================================================

一下部分轉載自 https://segmentfault.com/a/1190000008378268#articleHeader5

eureka.client.registry-fetch-interval-seconds

表示eureka client間隔多久去拉取服務注冊信息,默認為30秒,對於api-gateway,如果要迅速獲取服務注冊狀態,可以縮小該值,比如5秒

eureka.instance.lease-expiration-duration-in-seconds

leaseExpirationDurationInSeconds,表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超時時間,在這個時間內若沒收到下一次心跳,則將移除該instance。

  • 默認為90秒

  • 如果該值太大,則很可能將流量轉發過去的時候,該instance已經不存活了。

  • 如果該值設置太小了,則instance則很可能因為臨時的網絡抖動而被摘除掉。

  • 該值至少應該大於leaseRenewalIntervalInSeconds

eureka.instance.lease-renewal-interval-in-seconds

leaseRenewalIntervalInSeconds,表示eureka client發送心跳給server端的頻率。如果在leaseExpirationDurationInSeconds后,server端沒有收到client的心跳,則將摘除該instance。除此之外,如果該instance實現了HealthCheckCallback,並決定讓自己unavailable的話,則該instance也不會接收到流量。

  • 默認30秒

eureka.server.enable-self-preservation

是否開啟自我保護模式,默認為true。

默認情況下,如果Eureka Server在一定時間內沒有接收到某個微服務實例的心跳,Eureka Server將會注銷該實例(默認90秒)。但是當網絡分區故障發生時,微服務與Eureka Server之間無法正常通信,以上行為可能變得非常危險了——因為微服務本身其實是健康的,此時本不應該注銷這個微服務。

Eureka通過“自我保護模式”來解決這個問題——當Eureka Server節點在短時間內丟失過多客戶端時(可能發生了網絡分區故障),那么這個節點就會進入自我保護模式。一旦進入該模式,Eureka Server就會保護服務注冊表中的信息,不再刪除服務注冊表中的數據(也就是不會注銷任何微服務)。當網絡故障恢復后,該Eureka Server節點會自動退出自我保護模式。

綜上,自我保護模式是一種應對網絡異常的安全保護措施。它的架構哲學是寧可同時保留所有微服務(健康的微服務和不健康的微服務都會保留),也不盲目注銷任何健康的微服務。使用自我保護模式,可以讓Eureka集群更加的健壯、穩定。

eureka.server.eviction-interval-timer-in-ms

eureka server清理無效節點的時間間隔,默認60000毫秒,即60秒.

測試環境參考配置

eureka server


   
   
  
  
          
  1. eureka:
  2. server:
  3. enable- self-preservation: false # 關閉自我保護模式(缺省為打開)
  4. eviction-interval-timer- in-ms: 5000 # 續期時間,即掃描失效服務的間隔時間(缺省為60*1000ms)

eureka client


   
   
  
  
          
  1. eureka:
  2. instance:
  3. lease-renewal-interval- in-seconds: 5 # 心跳時間,即服務續約間隔時間(缺省為30s)
  4. lease-expiration-duration- in-seconds: 10 # 發呆時間,即服務續約到期時間(缺省為90s)
  5. client:
  6. healthcheck:
  7. enabled: true # 開啟健康檢查(依賴spring-boot-starter-actuator)

zuul


   
   
  
  
          
  1. eureka:
  2. client:
  3. registry-fetch-interval-seconds: 5 # 默認為30秒
原文地址:https://blog.csdn.net/u012240455/article/details/86630546


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM