spring cloud Eureka 之配置信息

Eureka instance
一個服務,如:訂單系統,會部署多臺服務器,而每臺服務器上提供的服務就是instance; 負載配置。
Eureka service
指的是服務,提供一種特定功能的服務,如:訂單系統,而同一個服務可以提供多個instance;
Eureka client
主要將自己的服務註冊到服務中心。但它既可以是服務的提供者也可以是消費者。它與Eureka instance感覺差不多,但其實意義是不一樣的,Eureka client是相較於Eureka server來說的。而Eureka instance更傾向於負載技術。
Eureka server
服務註冊中心。並管理各服務的中心。

Eureka instance 配置項:

#服務註冊中心實例的主機名
eureka.instance.hostname=localhost
#註冊在Eureka服務中的應用組名
eureka.instance.app-group-name=
#註冊在的Eureka服務中的應用名稱
eureka.instance.appname=
#該實例註冊到服務中心的唯一ID
eureka.instance.instance-id=
#該實例的IP地址
eureka.instance.ip-address=
#該實例,相較於hostname是否優先使用IP
eureka.instance.prefer-ip-address=false

#用於AWS平臺自動擴展的與此實例關聯的組名,
eureka.instance.a-s-g-name=
#部署此實例的數據中心
eureka.instance.data-center-info=
#默認的地址解析順序
eureka.instance.default-address-resolution-order=
#該實例的環境配置
eureka.instance.environment=
#初始化該實例,註冊到服務中心的初始狀態
eureka.instance.initial-status=up
#表明是否只要此實例註冊到服務中心,立馬就進行通信
eureka.instance.instance-enabled-onit=false
#該服務實例的命名空間,用於查找屬性
eureka.instance.namespace=eureka
#該服務實例的子定義元數據,可以被服務中心接受到
eureka.instance.metadata-map.test = test

#服務中心刪除此服務實例的等待時間(秒爲單位),時間間隔爲最後一次服務中心接受到的心跳時間
eureka.instance.lease-expiration-duration-in-seconds=90
#該實例給服務中心發送心跳的間隔時間,用於表明該服務實例可用
eureka.instance.lease-renewal-interval-in-seconds=30
#該實例,註冊服務中心,默認打開的通信數量
eureka.instance.registry.default-open-for-traffic-count=1
#每分鐘續約次數
eureka.instance.registry.expected-number-of-renews-per-min=1

#該實例健康檢查url,絕對路徑
eureka.instance.health-check-url=
#該實例健康檢查url,相對路徑
eureka.instance.health-check-url-path=/health
#該實例的主頁url,絕對路徑
eureka.instance.home-page-url=
#該實例的主頁url,相對路徑
eureka.instance.home-page-url-path=/
#該實例的安全健康檢查url,絕對路徑
eureka.instance.secure-health-check-url=
#https通信端口
eureka.instance.secure-port=443
#https通信端口是否啓用
eureka.instance.secure-port-enabled=false
#http通信端口
eureka.instance.non-secure-port=80
#http通信端口是否啓用
eureka.instance.non-secure-port-enabled=true
#該實例的安全虛擬主機名稱(https)
eureka.instance.secure-virtual-host-name=unknown
#該實例的虛擬主機名稱(http)
eureka.instance.virtual-host-name=unknown
#該實例的狀態呈現url,絕對路徑
eureka.instance.status-page-url=
#該實例的狀態呈現url,相對路徑
eureka.instance.status-page-url-path=/status

Eureka client 配置

#該客戶端是否可用
eureka.client.enabled=true
#實例是否在eureka服務器上註冊自己的信息以供其他服務發現,默認爲true
eureka.client.register-with-eureka=false
#此客戶端是否獲取eureka服務器註冊表上的註冊信息,默認爲true
eureka.client.fetch-registry=false
#是否過濾掉,非UP的實例。默認爲true
eureka.client.filter-only-up-instances=true
#與Eureka註冊服務中心的通信zone和url地址
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

#client連接Eureka服務端後的空閒等待時間,默認爲30 秒
eureka.client.eureka-connection-idle-timeout-seconds=30
#client連接eureka服務端的連接超時時間,默認爲5秒
eureka.client.eureka-server-connect-timeout-seconds=5
#client對服務端的讀超時時長
eureka.client.eureka-server-read-timeout-seconds=8
#client連接all eureka服務端的總連接數,默認200
eureka.client.eureka-server-total-connections=200
#client連接eureka服務端的單機連接數量,默認50
eureka.client.eureka-server-total-connections-per-host=50
#執行程序指數回退刷新的相關屬性,是重試延遲的最大倍數值,默認爲10
eureka.client.cache-refresh-executor-exponential-back-off-bound=10
#執行程序緩存刷新線程池的大小,默認爲5
eureka.client.cache-refresh-executor-thread-pool-size=2
#心跳執行程序回退相關的屬性,是重試延遲的最大倍數值,默認爲10
eureka.client.heartbeat-executor-exponential-back-off-bound=10
#心跳執行程序線程池的大小,默認爲5
eureka.client.heartbeat-executor-thread-pool-size=5
# 詢問Eureka服務url信息變化的頻率(s),默認爲300秒
eureka.client.eureka-service-url-poll-interval-seconds=300
#最初複製實例信息到eureka服務器所需的時間(s),默認爲40秒
eureka.client.initial-instance-info-replication-interval-seconds=40
#間隔多長時間再次複製實例信息到eureka服務器,默認爲30秒
eureka.client.instance-info-replication-interval-seconds=30
#從eureka服務器註冊表中獲取註冊信息的時間間隔(s),默認爲30秒
eureka.client.registry-fetch-interval-seconds=30

# 獲取實例所在的地區。默認爲us-east-1
eureka.client.region=us-east-1
#實例是否使用同一zone裏的eureka服務器,默認爲true,理想狀態下,eureka客戶端與服務端是在同一zone下
eureka.client.prefer-same-zone-eureka=true
# 獲取實例所在的地區下可用性的區域列表,用逗號隔開。(AWS)
eureka.client.availability-zones.china=defaultZone,defaultZone1,defaultZone2
#eureka服務註冊表信息裏的以逗號隔開的地區名單,如果不這樣返回這些地區名單,則客戶端啓動將會出錯。默認爲null
eureka.client.fetch-remote-regions-registry=
#服務器是否能夠重定向客戶端請求到備份服務器。 如果設置爲false,服務器將直接處理請求,如果設置爲true,它可能發送HTTP重定向到客戶端。默認爲false
eureka.client.allow-redirects=false
#客戶端數據接收
eureka.client.client-data-accept=
#增量信息是否可以提供給客戶端看,默認爲false
eureka.client.disable-delta=false
#eureka服務器序列化/反序列化的信息中獲取“_”符號的的替換字符串。默認爲“__“
eureka.client.escape-char-replacement=__
#eureka服務器序列化/反序列化的信息中獲取“$”符號的替換字符串。默認爲“_-”
eureka.client.dollar-replacement="_-"
#當服務端支持壓縮的情況下,是否支持從服務端獲取的信息進行壓縮。默認爲true
eureka.client.g-zip-content=true
#是否記錄eureka服務器和客戶端之間在註冊表的信息方面的差異,默認爲false
eureka.client.log-delta-diff=false
# 如果設置爲true,客戶端的狀態更新將會點播更新到遠程服務器上,默認爲true
eureka.client.on-demand-update-status-change=true
#此客戶端只對一個單一的VIP註冊表的信息感興趣。默認爲null
eureka.client.registry-refresh-single-vip-address=
#client是否在初始化階段強行註冊到服務中心,默認爲false
eureka.client.should-enforce-registration-at-init=false
#client在shutdown的時候是否顯示的註銷服務從服務中心,默認爲true
eureka.client.should-unregister-on-shutdown=true

# 獲取eureka服務的代理主機,默認爲null
eureka.client.proxy-host=
#獲取eureka服務的代理密碼,默認爲null
eureka.client.proxy-password=
# 獲取eureka服務的代理端口, 默認爲null
eureka.client.proxy-port=
# 獲取eureka服務的代理用戶名,默認爲null
eureka.client.proxy-user-name=

#屬性解釋器
eureka.client.property-resolver=
#獲取實現了eureka客戶端在第一次啓動時讀取註冊表的信息作爲回退選項的實現名稱
eureka.client.backup-registry-impl=
#這是一個短暫的×××的配置,如果最新的×××是穩定的,則可以去除,默認爲null
eureka.client.decoder-name=
#這是一個短暫的編碼器的配置,如果最新的編碼器是穩定的,則可以去除,默認爲null
eureka.client.encoder-name=

#是否使用DNS機制去獲取服務列表,然後進行通信。默認爲false
eureka.client.use-dns-for-fetching-service-urls=false
#獲取要查詢的DNS名稱來獲得eureka服務器,此配置只有在eureka服務器ip地址列表是在DNS中才會用到。默認爲null
eureka.client.eureka-server-d-n-s-name=
#獲取eureka服務器的端口,此配置只有在eureka服務器ip地址列表是在DNS中才會用到。默認爲null
eureka.client.eureka-server-port=
#表示eureka註冊中心的路徑,如果配置爲eureka,則爲http://x.x.x.x:x/eureka/,在eureka的配置文件中加入此配置表示eureka作爲客戶端向註冊中心註冊,從而構成eureka集羣。此配置只有在eureka服務器ip地址列表是在DNS中才會用到,默認爲null
eureka.client.eureka-server-u-r-l-context=

Eureka Server配置

################server 與 client 關聯的配置#####################33
#服務端開啓自我保護模式。無論什麼情況,服務端都會保持一定數量的服務。避免client與server的網絡問題,而出現大量的服務被清除。
eureka.server.enable-self-preservation=true
#開啓清除無效服務的定時任務,時間間隔。默認1分鐘
eureka.server.eviction-interval-timer-in-ms= 60000
#間隔多長時間,清除過期的delta數據
eureka.server.delta-retention-timer-interval-in-ms=0
#過期數據,是否也提供給client
eureka.server.disable-delta=false
#eureka服務端是否記錄client的身份header
eureka.server.log-identity-headers=true
#請求頻率限制器
eureka.server.rate-limiter-burst-size=10
#是否開啓請求頻率限制器
eureka.server.rate-limiter-enabled=false
#請求頻率的平均值
eureka.server.rate-limiter-full-fetch-average-rate=100
#是否對標準的client進行頻率請求限制。如果是false,則只對非標準client進行限制
eureka.server.rate-limiter-throttle-standard-clients=false
#註冊服務、拉去服務列表數據的請求頻率的平均值
eureka.server.rate-limiter-registry-fetch-average-rate=500
#設置信任的client list
eureka.server.rate-limiter-privileged-clients=
#在設置的時間範圍類,期望與client續約的百分比。
eureka.server.renewal-percent-threshold=0.85
#多長時間更新續約的閾值
eureka.server.renewal-threshold-update-interval-ms=0
#對於緩存的註冊數據,多長時間過期
eureka.server.response-cache-auto-expiration-in-seconds=180
#多長時間更新一次緩存中的服務註冊數據
eureka.server.response-cache-update-interval-ms=0
#緩存增量數據的時間,以便在檢索的時候不丟失信息
eureka.server.retention-time-in-m-s-in-delta-queue=0
#當時間戳不一致的時候,是否進行同步
eureka.server.sync-when-timestamp-differs=true
#是否採用只讀緩存策略,只讀策略對於緩存的數據不會過期。
eureka.server.use-read-only-response-cache=true

################server 自定義實現的配置#####################33
#json的轉換的實現類名
eureka.server.json-codec-name=
#PropertyResolver
eureka.server.property-resolver=
#eureka server xml的編解碼實現名稱
eureka.server.xml-codec-name=

################server node 與 node 之間關聯的配置#####################33
#發送複製數據是否在request中,總是壓縮
eureka.server.enable-replicated-request-compression=false
#指示羣集節點之間的複製是否應批處理以提高網絡效率。
eureka.server.batch-replication=false
#允許備份到備份池的最大複製事件數量。而這個備份池負責除狀態更新的其他事件。可以根據內存大小,超時和複製流量,來設置此值得大小
eureka.server.max-elements-in-peer-replication-pool=10000
#允許備份到狀態備份池的最大複製事件數量
eureka.server.max-elements-in-status-replication-pool=10000
#多個服務中心相互同步信息線程的最大空閒時間
eureka.server.max-idle-thread-age-in-minutes-for-peer-replication=15
#狀態同步線程的最大空閒時間
eureka.server.max-idle-thread-in-minutes-age-for-status-replication=15
#服務註冊中心各個instance相互複製數據的最大線程數量
eureka.server.max-threads-for-peer-replication=20
#服務註冊中心各個instance相互複製狀態數據的最大線程數量
eureka.server.max-threads-for-status-replication=1
#instance之間複製數據的通信時長
eureka.server.max-time-for-replication=30000
#正常的對等服務instance最小數量。-1表示服務中心爲單節點。
eureka.server.min-available-instances-for-peer-replication=-1
#instance之間相互複製開啓的最小線程數量
eureka.server.min-threads-for-peer-replication=5
#instance之間用於狀態複製,開啓的最小線程數量
eureka.server.min-threads-for-status-replication=1
#instance之間複製數據時可以重試的次數
eureka.server.number-of-replication-retries=5
#eureka節點間間隔多長時間更新一次數據。默認10分鐘。
eureka.server.peer-eureka-nodes-update-interval-ms=600000
#eureka服務狀態的相互更新的時間間隔。
eureka.server.peer-eureka-status-refresh-time-interval-ms=0
#eureka對等節點間連接超時時間
eureka.server.peer-node-connect-timeout-ms=200
#eureka對等節點連接後的空閒時間
eureka.server.peer-node-connection-idle-timeout-seconds=30
#節點間的讀數據連接超時時間
eureka.server.peer-node-read-timeout-ms=200
#eureka server 節點間連接的總共最大數量
eureka.server.peer-node-total-connections=1000
#eureka server 節點間連接的單機最大數量
eureka.server.peer-node-total-connections-per-host=10
#在服務節點啓動時,eureka嘗試獲取註冊信息的次數
eureka.server.registry-sync-retries=
#在服務節點啓動時,eureka多次嘗試獲取註冊信息的間隔時間
eureka.server.registry-sync-retry-wait-ms=
#當eureka server啓動的時候,不能從對等節點獲取instance註冊信息的情況,應等待多長時間。
eureka.server.wait-time-in-ms-when-sync-empty=0

################server 與 remote 關聯的配置#####################33
#過期數據,是否也提供給遠程region
eureka.server.disable-delta-for-remote-regions=false
#回退到遠程區域中的應用程序的舊行爲 (如果已配置) 如果本地區域中沒有該應用程序的實例, 則將被禁用。
eureka.server.disable-transparent-fallback-to-other-region=false
#指示在服務器支持的情況下, 是否必須爲遠程區域壓縮從尤里卡服務器獲取的內容。
eureka.server.g-zip-content-from-remote-region=true
#連接eureka remote note的連接超時時間
eureka.server.remote-region-connect-timeout-ms=1000
#remote region 應用白名單
eureka.server.remote-region-app-whitelist.
#連接eureka remote note的連接空閒時間
eureka.server.remote-region-connection-idle-timeout-seconds=30
#執行remote region 獲取註冊信息的請求線程池大小
eureka.server.remote-region-fetch-thread-pool-size=20
#remote region 從對等eureka加點讀取數據的超時時間
eureka.server.remote-region-read-timeout-ms=1000
#從remote region 獲取註冊信息的時間間隔
eureka.server.remote-region-registry-fetch-interval=30
#remote region 連接eureka節點的總連接數量
eureka.server.remote-region-total-connections=1000
#remote region 連接eureka節點的單機連接數量
eureka.server.remote-region-total-connections-per-host=50
#remote region抓取註冊信息的存儲文件,而這個可靠的存儲文件需要全限定名來指定
eureka.server.remote-region-trust-store=
#remote region 儲存的文件的密碼
eureka.server.remote-region-trust-store-password=
#remote region url.多個逗號隔開
eureka.server.remote-region-urls=
#remote region url.多個逗號隔開
eureka.server.remote-region-urls-with-name.

################server 與 ASG/AWS/EIP/route52 之間關聯的配置#####################33
#緩存ASG信息的過期時間。
eureka.server.a-s-g-cache-expiry-timeout-ms=0
#查詢ASG信息的超時時間
eureka.server.a-s-g-query-timeout-ms=300
#服務更新ASG信息的頻率
eureka.server.a-s-g-update-interval-ms=0
#AWS訪問ID
eureka.server.a-w-s-access-id=
#AWS安全密鑰
eureka.server.a-w-s-secret-key=
#AWS綁定策略
eureka.server.binding-strategy=eip
#用於從第三方AWS 帳戶描述自動擴展分組的角色的名稱。
eureka.server.list-auto-scaling-groups-role-name=
#是否應該建立連接引導
eureka.server.prime-aws-replica-connections=true
#服務端嘗試綁定候選EIP的次數
eureka.server.e-i-p-bind-rebind-retries=3
#服務端綁定EIP的時間間隔.如果綁定就檢查;如果綁定失效就重新綁定。當且僅當已經綁定的情況
eureka.server.e-i-p-binding-retry-interval-ms=10
#服務端綁定EIP的時間間隔.當且僅當服務爲綁定的情況
eureka.server.e-i-p-binding-retry-interval-ms-when-unbound=
#服務端嘗試綁定route53的次數
eureka.server.route53-bind-rebind-retries=3
#服務端間隔多長時間嘗試綁定route53
eureka.server.route53-binding-retry-interval-ms=30
#
eureka.server.route53-domain-t-t-l=10

參考文檔:
http://cloud.spring.io/spring-cloud-static/spring-cloud-netflix/2.0.0.RC1/single/spring-cloud-netflix.html
https://blog.csdn.net/sunhuiliang85/article/details/76222517
https://blog.csdn.net/zhxdick/article/details/79153711
https://stackoverflow.com/questions/36557646/what-is-eureka-service-eureka-client-eureka-instance-and-eureka-server
https://www.cnblogs.com/fangfuhai/p/7070325.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章