日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringCloud(一):深入理解Eureka

發布時間:2025/7/14 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringCloud(一):深入理解Eureka 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實例和客戶端的元數據

Eureka Metadata for Instances and Clients

0、Eureka的元數據字面理解

  • 原文: It is worth spending a bit of time understanding how the Eureka metadata works, so you can use it in a way that makes sense in your platform. There is standard metadata for information such as hostname, IP address, port numbers, the status page, and health check. These are published in the service registry and used by clients to contact the services in a straightforward way. Additional metadata can be added to the instance registration in the eureka.instance.metadataMap, and this metadata is accessible in the remote clients. In general, additional metadata does not change the behavior of the client, unless the client is made aware of the meaning of the metadata. There are a couple of special cases, described later in this document, where Spring Cloud already assigns meaning to the metadata map.
  • 譯文: 花時間了解Eureka元數據的工作方式是一件值得的事,這樣您就可以在您的平臺上使用它了。標準元數據的信息包括:例如主機名、IP地址、端口號、狀態頁和健康檢查。這些服務發布在服務注冊中心,并由客戶端使用以簡單的方式與服務聯系。可以將其他元數據添加到==eureka.instance.metadataMap==中的實例注冊中,并且遠程客戶端可以訪問該元數據。通常,附加的元數據不會改變客戶端的行為,除非使客戶端知道元數據的含義。本文后面將描述幾個特殊情況,其中Spring Cloud已經為元數據映射分配了含義。

1、配置Eureka的元數據

eureka:instance:metadata-map: zone: ABC # eureka可以理解的元數據,因為eureka中有這個zone的名字mmzs: BBC # 不會影響客戶端行為,因為eureka中沒有mmzs這個名字,eureka不能理解這個元數據 復制代碼

Using the EurekaClient

不要在@PostConstruct方法或@Scheduled方法中使用EurekaClient(或任何可能尚未啟動ApplicationContext的地方)。

為什么注冊服務這么慢?

官網文檔:cloud.spring.io/spring-clou…

作為一個實例,還會涉及到一個默認的持續時間為30秒的注冊表(通過客戶端的Service URL)的周期性心跳。 直到實例、服務端和客戶端在本地緩存中都具有相同的元數據(因此它可能會花費3個心跳周期),客戶端才可發現服務。您可以通過設置==eureka.instance.leaseRenewalIntervalInSeconds==來改變周期時間;將其設置為小于30秒,加快客戶端連接到其他服務端的過程。==在生產中,最好是堅持使用默認,因為在服務器內部有一些計算,它們會對租賃續訂期做出一些假設。==

eureka服務實例的應用名稱是?

優先級:2>0>1
0、默認是讀取配置

spring:application:# 建議大家都是用小寫name: microservice-provider-user 復制代碼

1、如該配置沒有,那么就是unknown
2、還可以通過下面的配置:

# 這種配置和swagger沒有沖突,而第0種配置可能會有沖突 eurekainstanceappname: USER-SERVICE-MMZS 復制代碼

Eureka開啟自我保護的提示

當出現以下語句時:
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已經開啟自我保護。

如何解決Eureka Server不踢出已關停的節點的問題?

  • server端:
# 設為false,關閉自我保護主要 eureka.server.enable-self-preservation # 清理間隔(單位毫秒,默認是60*1000) eureka.server.eviction-interval-timer-in-ms 復制代碼
  • client端:
# 開啟健康檢查(需要spring-boot-starter-actuator依賴) eureka.client.healthcheck.enabled = true # 租期更新時間間隔(默認30秒) eureka.instance.lease-renewal-interval-in-seconds =10 # 租期到期時間(默認90秒) eureka.instance.lease-expiration-duration-in-seconds =30 復制代碼
  • 示例:
  • 服務器端配置:
  • eureka:server:enableSelfPreservation: falseevictionIntervalTimerInMs: 4000 復制代碼
  • 客戶端配置:
  • eureka:instance:leaseRenewalIntervalInSeconds: 10leaseExpirationDurationInSeconds: 30 復制代碼

    ==注:== 在生產中,更改Eureka更新頻率將打破服務器的自我保護功能,所以最好堅持使用默認值,因為在服務器內部有一些計算,他們對續約做出假設。
    參考文檔:github.com/spring-clou…

    Eureka配置instanceId顯示IP

    • 直接配置:
    eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/instance:prefer-ip-address: trueinstance-id: ${spring.cloud.client.ip-address}:${server.port} 復制代碼

    ==注==: 如果只是配置了eureka.instance.prefer-ip-address=true,而不配置eureka.instance.instance-id,那還是顯示localhost,但ip地址是可以訪問得了。

    • 手工指定IP(推薦)
      添加以下配置:
    # 指定此實例的ip eureka.instance.ip-address = 127.0.0.1 # 注冊時使用ip而不是主機名 eureka.instance.prefer-ip-address = true 復制代碼
    • Spring Cloud Netflix Eureka: 多網卡環境下Eureka服務注冊IP選擇問題
      鏈接:blog.csdn.net/neosmith/ar…

    Eureka Environment和Eureka DataCenter的配置:

  • Eureka Environment的配置:
  • eureka.environment: 字符串 復制代碼

    參考文檔: github.com/Netflix/eur… 2. Eureka DataCenter的配置

    eureka.datacenter: cloud 復制代碼

    參考文檔:github.com/Netflix/eur…

    這邊說:配置-Deureka.datacenter=cloud,這樣eureka將會知道是在AWS云上 3. 示例:

    eureka: datacenter: cloudenvironment: product 復制代碼

    Eureka配置最佳實踐總結

    參考文檔: github.com/spring-clou…

    轉載于:https://juejin.im/post/5cfdbc335188255a70478f24

    總結

    以上是生活随笔為你收集整理的SpringCloud(一):深入理解Eureka的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。