https:///docs/introduction/glossary/ 一SpringCloud SpringCloud是一個(gè)完整的微服務(wù)治理框架,,包括服務(wù)發(fā)現(xiàn)和注冊,服務(wù)網(wǎng)關(guān),熔斷,,限流,,負(fù)載均衡和鏈路跟蹤等組件。 SpringCloud-Eureka主要提供服務(wù)注冊和發(fā)現(xiàn)功能,。本文提供了該組件配置的全面說明,。 Eureka服務(wù)端:負(fù)責(zé)服務(wù)注冊、發(fā)現(xiàn)并管理每項(xiàng)服務(wù)的中心 Eureka實(shí)例:服務(wù)(如訂單系統(tǒng))部署多個(gè)服務(wù)器,,每個(gè)服務(wù)器上提供的服務(wù)都是實(shí)例,。 Eureka服務(wù):指提供特定服務(wù)功能的服務(wù),例如:訂單系統(tǒng),,同一服務(wù)可以提供多個(gè)實(shí)例; Eureka客戶端:主要向服務(wù)中心注冊自己成為服務(wù),。但它既可以是服務(wù)提供者,也可以是消費(fèi)者,。它與Eureka實(shí)例感覺相似,,但實(shí)際上意義不同。 二EurekaServer端配置 ################server 與 client 關(guān)聯(lián)的配置#####################33 #服務(wù)端開啟自我保護(hù)模式,。無論什么情況,,服務(wù)端都會(huì)保持一定數(shù)量的服務(wù)。避免client與server的網(wǎng)絡(luò)問題,,而出現(xiàn)大量的服務(wù)被清除,。 eureka.server.enable-self-preservation=true #開啟清除無效服務(wù)的定時(shí)任務(wù),時(shí)間間隔,。默認(rèn)1分鐘 eureka.server.eviction-interval-timer-in-ms= 60000 #間隔多長時(shí)間,,清除過期的delta數(shù)據(jù) eureka.server.delta-retention-timer-interval-in-ms=0 #過期數(shù)據(jù),是否也提供給client eureka.server.disable-delta=false #eureka服務(wù)端是否記錄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 #是否對(duì)標(biāo)準(zhǔn)的client進(jìn)行頻率請求限制,。如果是false,,則只對(duì)非標(biāo)準(zhǔn)client進(jìn)行限制 eureka.server.rate-limiter-throttle-standard-clients=false #注冊服務(wù)、拉去服務(wù)列表數(shù)據(jù)的請求頻率的平均值 eureka.server.rate-limiter-registry-fetch-average-rate=500 #設(shè)置信任的client list eureka.server.rate-limiter-privileged-clients= #在設(shè)置的時(shí)間范圍類,,期望與client續(xù)約的百分比,。 eureka.server.renewal-percent-threshold=0.85 #多長時(shí)間更新續(xù)約的閾值 eureka.server.renewal-threshold-update-interval-ms=0 #對(duì)于緩存的注冊數(shù)據(jù),多長時(shí)間過期 eureka.server.response-cache-auto-expiration-in-seconds=180 #多長時(shí)間更新一次緩存中的服務(wù)注冊數(shù)據(jù) eureka.server.response-cache-update-interval-ms=0 #緩存增量數(shù)據(jù)的時(shí)間,,以便在檢索的時(shí)候不丟失信息 eureka.server.retention-time-in-m-s-in-delta-queue=0 #當(dāng)時(shí)間戳不一致的時(shí)候,,是否進(jìn)行同步 eureka.server.sync-when-timestamp-differs=true #是否采用只讀緩存策略,只讀策略對(duì)于緩存的數(shù)據(jù)不會(huì)過期,。 eureka.server.use-read-only-response-cache=true ################server 自定義實(shí)現(xiàn)的配置#####################33 #json的轉(zhuǎn)換的實(shí)現(xiàn)類名 eureka.server.json-codec-name= #PropertyResolver eureka.server.property-resolver= #eureka server xml的編解碼實(shí)現(xiàn)名稱 eureka.server.xml-codec-name= ################server node 與 node 之間關(guān)聯(lián)的配置#####################33 #發(fā)送復(fù)制數(shù)據(jù)是否在request中,,總是壓縮 eureka.server.enable-replicated-request-compression=false #指示群集節(jié)點(diǎn)之間的復(fù)制是否應(yīng)批處理以提高網(wǎng)絡(luò)效率。 eureka.server.batch-replication=false #允許備份到備份池的最大復(fù)制事件數(shù)量,。而這個(gè)備份池負(fù)責(zé)除狀態(tài)更新的其他事件,。可以根據(jù)內(nèi)存大小,超時(shí)和復(fù)制流量,,來設(shè)置此值得大小 eureka.server.max-elements-in-peer-replication-pool=10000 #允許備份到狀態(tài)備份池的最大復(fù)制事件數(shù)量 eureka.server.max-elements-in-status-replication-pool=10000 #多個(gè)服務(wù)中心相互同步信息線程的最大空閑時(shí)間 eureka.server.max-idle-thread-age-in-minutes-for-peer-replication=15 #狀態(tài)同步線程的最大空閑時(shí)間 eureka.server.max-idle-thread-in-minutes-age-for-status-replication=15 #服務(wù)注冊中心各個(gè)instance相互復(fù)制數(shù)據(jù)的最大線程數(shù)量 eureka.server.max-threads-for-peer-replication=20 #服務(wù)注冊中心各個(gè)instance相互復(fù)制狀態(tài)數(shù)據(jù)的最大線程數(shù)量 eureka.server.max-threads-for-status-replication=1 #instance之間復(fù)制數(shù)據(jù)的通信時(shí)長 eureka.server.max-time-for-replication=30000 #正常的對(duì)等服務(wù)instance最小數(shù)量,。-1表示服務(wù)中心為單節(jié)點(diǎn)。 eureka.server.min-available-instances-for-peer-replication=-1 #instance之間相互復(fù)制開啟的最小線程數(shù)量 eureka.server.min-threads-for-peer-replication=5 #instance之間用于狀態(tài)復(fù)制,,開啟的最小線程數(shù)量 eureka.server.min-threads-for-status-replication=1 #instance之間復(fù)制數(shù)據(jù)時(shí)可以重試的次數(shù) eureka.server.number-of-replication-retries=5 #eureka節(jié)點(diǎn)間間隔多長時(shí)間更新一次數(shù)據(jù),。默認(rèn)10分鐘。 eureka.server.peer-eureka-nodes-update-interval-ms=600000 #eureka服務(wù)狀態(tài)的相互更新的時(shí)間間隔,。 eureka.server.peer-eureka-status-refresh-time-interval-ms=0 #eureka對(duì)等節(jié)點(diǎn)間連接超時(shí)時(shí)間 eureka.server.peer-node-connect-timeout-ms=200 #eureka對(duì)等節(jié)點(diǎn)連接后的空閑時(shí)間 eureka.server.peer-node-connection-idle-timeout-seconds=30 #節(jié)點(diǎn)間的讀數(shù)據(jù)連接超時(shí)時(shí)間 eureka.server.peer-node-read-timeout-ms=200 #eureka server 節(jié)點(diǎn)間連接的總共最大數(shù)量 eureka.server.peer-node-total-connections=1000 #eureka server 節(jié)點(diǎn)間連接的單機(jī)最大數(shù)量 eureka.server.peer-node-total-connections-per-host=10 #在服務(wù)節(jié)點(diǎn)啟動(dòng)時(shí),,eureka嘗試獲取注冊信息的次數(shù) eureka.server.registry-sync-retries= #在服務(wù)節(jié)點(diǎn)啟動(dòng)時(shí),eureka多次嘗試獲取注冊信息的間隔時(shí)間 eureka.server.registry-sync-retry-wait-ms= #當(dāng)eureka server啟動(dòng)的時(shí)候,,不能從對(duì)等節(jié)點(diǎn)獲取instance注冊信息的情況,,應(yīng)等待多長時(shí)間。 eureka.server.wait-time-in-ms-when-sync-empty=0 ################server 與 remote 關(guān)聯(lián)的配置#####################33 #過期數(shù)據(jù),,是否也提供給遠(yuǎn)程region eureka.server.disable-delta-for-remote-regions=false #回退到遠(yuǎn)程區(qū)域中的應(yīng)用程序的舊行為 (如果已配置) 如果本地區(qū)域中沒有該應(yīng)用程序的實(shí)例, 則將被禁用,。 eureka.server.disable-transparent-fallback-to-other-region=false #指示在服務(wù)器支持的情況下, 是否必須為遠(yuǎn)程區(qū)域壓縮從尤里卡服務(wù)器獲取的內(nèi)容。 eureka.server.g-zip-content-from-remote-region=true #連接eureka remote note的連接超時(shí)時(shí)間 eureka.server.remote-region-connect-timeout-ms=1000 #remote region 應(yīng)用白名單 eureka.server.remote-region-app-whitelist. #連接eureka remote note的連接空閑時(shí)間 eureka.server.remote-region-connection-idle-timeout-seconds=30 #執(zhí)行remote region 獲取注冊信息的請求線程池大小 eureka.server.remote-region-fetch-thread-pool-size=20 #remote region 從對(duì)等eureka加點(diǎn)讀取數(shù)據(jù)的超時(shí)時(shí)間 eureka.server.remote-region-read-timeout-ms=1000 #從remote region 獲取注冊信息的時(shí)間間隔 eureka.server.remote-region-registry-fetch-interval=30 #remote region 連接eureka節(jié)點(diǎn)的總連接數(shù)量 eureka.server.remote-region-total-connections=1000 #remote region 連接eureka節(jié)點(diǎn)的單機(jī)連接數(shù)量 eureka.server.remote-region-total-connections-per-host=50 #remote region抓取注冊信息的存儲(chǔ)文件,,而這個(gè)可靠的存儲(chǔ)文件需要全限定名來指定 eureka.server.remote-region-trust-store= #remote region 儲(chǔ)存的文件的密碼 eureka.server.remote-region-trust-store-password= #remote region url.多個(gè)逗號(hào)隔開 eureka.server.remote-region-urls= #remote region url.多個(gè)逗號(hào)隔開 eureka.server.remote-region-urls-with-name. ################server 與 ASG/AWS/EIP/route52 之間關(guān)聯(lián)的配置#####################33 #緩存ASG信息的過期時(shí)間,。 eureka.server.a-s-g-cache-expiry-timeout-ms=0 #查詢ASG信息的超時(shí)時(shí)間 eureka.server.a-s-g-query-timeout-ms=300 #服務(wù)更新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 帳戶描述自動(dòng)擴(kuò)展分組的角色的名稱。 eureka.server.list-auto-scaling-groups-role-name= #是否應(yīng)該建立連接引導(dǎo) eureka.server.prime-aws-replica-connections=true #服務(wù)端嘗試綁定候選EIP的次數(shù) eureka.server.e-i-p-bind-rebind-retries=3 #服務(wù)端綁定EIP的時(shí)間間隔.如果綁定就檢查;如果綁定失效就重新綁定,。當(dāng)且僅當(dāng)已經(jīng)綁定的情況 eureka.server.e-i-p-binding-retry-interval-ms=10 #服務(wù)端綁定EIP的時(shí)間間隔.當(dāng)且僅當(dāng)服務(wù)為綁定的情況 eureka.server.e-i-p-binding-retry-interval-ms-when-unbound= #服務(wù)端嘗試綁定route53的次數(shù) eureka.server.route53-bind-rebind-retries=3 #服務(wù)端間隔多長時(shí)間嘗試綁定route53 eureka.server.route53-binding-retry-interval-ms=30 # eureka.server.route53-domain-t-t-l=10 三EurekaClient端配置 #該客戶端是否可用 eureka.client.enabled=true #實(shí)例是否在eureka服務(wù)器上注冊自己的信息以供其他服務(wù)發(fā)現(xiàn),,默認(rèn)為true eureka.client.register-with-eureka=false #此客戶端是否獲取eureka服務(wù)器注冊表上的注冊信息,默認(rèn)為true eureka.client.fetch-registry=false #是否過濾掉,,非UP的實(shí)例,。默認(rèn)為true eureka.client.filter-only-up-instances=true #與Eureka注冊服務(wù)中心的通信zone和url地址 eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/ #client連接Eureka服務(wù)端后的空閑等待時(shí)間,默認(rèn)為30 秒 eureka.client.eureka-connection-idle-timeout-seconds=30 #client連接eureka服務(wù)端的連接超時(shí)時(shí)間,,默認(rèn)為5秒 eureka.client.eureka-server-connect-timeout-seconds=5 #client對(duì)服務(wù)端的讀超時(shí)時(shí)長 eureka.client.eureka-server-read-timeout-seconds=8 #client連接all eureka服務(wù)端的總連接數(shù),,默認(rèn)200 eureka.client.eureka-server-total-connections=200 #client連接eureka服務(wù)端的單機(jī)連接數(shù)量,默認(rèn)50 eureka.client.eureka-server-total-connections-per-host=50 #執(zhí)行程序指數(shù)回退刷新的相關(guān)屬性,,是重試延遲的最大倍數(shù)值,,默認(rèn)為10 eureka.client.cache-refresh-executor-exponential-back-off-bound=10 #執(zhí)行程序緩存刷新線程池的大小,默認(rèn)為5 eureka.client.cache-refresh-executor-thread-pool-size=2 #心跳執(zhí)行程序回退相關(guān)的屬性,,是重試延遲的最大倍數(shù)值,,默認(rèn)為10 eureka.client.heartbeat-executor-exponential-back-off-bound=10 #心跳執(zhí)行程序線程池的大小,默認(rèn)為5 eureka.client.heartbeat-executor-thread-pool-size=5 # 詢問Eureka服務(wù)url信息變化的頻率(s),默認(rèn)為300秒 eureka.client.eureka-service-url-poll-interval-seconds=300 #最初復(fù)制實(shí)例信息到eureka服務(wù)器所需的時(shí)間(s),,默認(rèn)為40秒 eureka.client.initial-instance-info-replication-interval-seconds=40 #間隔多長時(shí)間再次復(fù)制實(shí)例信息到eureka服務(wù)器,默認(rèn)為30秒 eureka.client.instance-info-replication-interval-seconds=30 #從eureka服務(wù)器注冊表中獲取注冊信息的時(shí)間間隔(s),,默認(rèn)為30秒 eureka.client.registry-fetch-interval-seconds=30 # 獲取實(shí)例所在的地區(qū),。默認(rèn)為us-east-1 eureka.client.region=us-east-1 #實(shí)例是否使用同一zone里的eureka服務(wù)器,默認(rèn)為true,理想狀態(tài)下,,eureka客戶端與服務(wù)端是在同一zone下 eureka.client.prefer-same-zone-eureka=true # 獲取實(shí)例所在的地區(qū)下可用性的區(qū)域列表,,用逗號(hào)隔開。(AWS) eureka.client.availability-zones.china=defaultZone,defaultZone1,defaultZone2 #eureka服務(wù)注冊表信息里的以逗號(hào)隔開的地區(qū)名單,,如果不這樣返回這些地區(qū)名單,,則客戶端啟動(dòng)將會(huì)出錯(cuò)。默認(rèn)為null eureka.client.fetch-remote-regions-registry= #服務(wù)器是否能夠重定向客戶端請求到備份服務(wù)器,。 如果設(shè)置為false,,服務(wù)器將直接處理請求,如果設(shè)置為true,,它可能發(fā)送HTTP重定向到客戶端,。默認(rèn)為false eureka.client.allow-redirects=false #客戶端數(shù)據(jù)接收 eureka.client.client-data-accept= #增量信息是否可以提供給客戶端看,默認(rèn)為false eureka.client.disable-delta=false #eureka服務(wù)器序列化/反序列化的信息中獲取“_”符號(hào)的的替換字符串,。默認(rèn)為“__“ eureka.client.escape-char-replacement=__ #eureka服務(wù)器序列化/反序列化的信息中獲取“$”符號(hào)的替換字符串,。默認(rèn)為“_-” eureka.client.dollar-replacement="_-" #當(dāng)服務(wù)端支持壓縮的情況下,是否支持從服務(wù)端獲取的信息進(jìn)行壓縮,。默認(rèn)為true eureka.client.g-zip-content=true #是否記錄eureka服務(wù)器和客戶端之間在注冊表的信息方面的差異,,默認(rèn)為false eureka.client.log-delta-diff=false # 如果設(shè)置為true,客戶端的狀態(tài)更新將會(huì)點(diǎn)播更新到遠(yuǎn)程服務(wù)器上,默認(rèn)為true eureka.client.on-demand-update-status-change=true #此客戶端只對(duì)一個(gè)單一的VIP注冊表的信息感興趣,。默認(rèn)為null eureka.client.registry-refresh-single-vip-address= #client是否在初始化階段強(qiáng)行注冊到服務(wù)中心,,默認(rèn)為false eureka.client.should-enforce-registration-at-init=false #client在shutdown的時(shí)候是否顯示的注銷服務(wù)從服務(wù)中心,默認(rèn)為true eureka.client.should-unregister-on-shutdown=true # 獲取eureka服務(wù)的代理主機(jī),,默認(rèn)為null eureka.client.proxy-host= #獲取eureka服務(wù)的代理密碼,,默認(rèn)為null eureka.client.proxy-password= # 獲取eureka服務(wù)的代理端口, 默認(rèn)為null eureka.client.proxy-port= # 獲取eureka服務(wù)的代理用戶名,默認(rèn)為null eureka.client.proxy-user-name= #屬性解釋器 eureka.client.property-resolver= #獲取實(shí)現(xiàn)了eureka客戶端在第一次啟動(dòng)時(shí)讀取注冊表的信息作為回退選項(xiàng)的實(shí)現(xiàn)名稱 eureka.client.backup-registry-impl= #這是一個(gè)短暫的×××的配置,,如果最新的×××是穩(wěn)定的,,則可以去除,默認(rèn)為null eureka.client.decoder-name= #這是一個(gè)短暫的編碼器的配置,,如果最新的編碼器是穩(wěn)定的,,則可以去除,默認(rèn)為null eureka.client.encoder-name= #是否使用DNS機(jī)制去獲取服務(wù)列表,,然后進(jìn)行通信,。默認(rèn)為false eureka.client.use-dns-for-fetching-service-urls=false #獲取要查詢的DNS名稱來獲得eureka服務(wù)器,此配置只有在eureka服務(wù)器ip地址列表是在DNS中才會(huì)用到,。默認(rèn)為null eureka.client.eureka-server-d-n-s-name= #獲取eureka服務(wù)器的端口,,此配置只有在eureka服務(wù)器ip地址列表是在DNS中才會(huì)用到。默認(rèn)為null eureka.client.eureka-server-port= #表示eureka注冊中心的路徑,,如果配置為eureka,,則為http://x.x.x.x:x/eureka/,,在eureka的配置文件中加入此配置表示eureka作為客戶端向注冊中心注冊,從而構(gòu)成eureka集群,。此配置只有在eureka服務(wù)器ip地址列表是在DNS中才會(huì)用到,,默認(rèn)為null eureka.client.eureka-server-u-r-l-context= 四EurekaInstance端配置 #服務(wù)注冊中心實(shí)例的主機(jī)名 eureka.instance.hostname=localhost #注冊在Eureka服務(wù)中的應(yīng)用組名 eureka.instance.app-group-name= #注冊在的Eureka服務(wù)中的應(yīng)用名稱 eureka.instance.appname= #該實(shí)例注冊到服務(wù)中心的唯一ID eureka.instance.instance-id= #該實(shí)例的IP地址 eureka.instance.ip-address= #該實(shí)例,相較于hostname是否優(yōu)先使用IP eureka.instance.prefer-ip-address=false #用于AWS平臺(tái)自動(dòng)擴(kuò)展的與此實(shí)例關(guān)聯(lián)的組名,, eureka.instance.a-s-g-name= #部署此實(shí)例的數(shù)據(jù)中心 eureka.instance.data-center-info= #默認(rèn)的地址解析順序 eureka.instance.default-address-resolution-order= #該實(shí)例的環(huán)境配置 eureka.instance.environment= #初始化該實(shí)例,,注冊到服務(wù)中心的初始狀態(tài) eureka.instance.initial-status=up #表明是否只要此實(shí)例注冊到服務(wù)中心,立馬就進(jìn)行通信 eureka.instance.instance-enabled-onit=false #該服務(wù)實(shí)例的命名空間,用于查找屬性 eureka.instance.namespace=eureka #該服務(wù)實(shí)例的子定義元數(shù)據(jù),,可以被服務(wù)中心接受到 eureka.instance.metadata-map.test = test #服務(wù)中心刪除此服務(wù)實(shí)例的等待時(shí)間(秒為單位),時(shí)間間隔為最后一次服務(wù)中心接受到的心跳時(shí)間 eureka.instance.lease-expiration-duration-in-seconds=90 #該實(shí)例給服務(wù)中心發(fā)送心跳的間隔時(shí)間,,用于表明該服務(wù)實(shí)例可用 eureka.instance.lease-renewal-interval-in-seconds=30 #該實(shí)例,注冊服務(wù)中心,,默認(rèn)打開的通信數(shù)量 eureka.instance.registry.default-open-for-traffic-count=1 #每分鐘續(xù)約次數(shù) eureka.instance.registry.expected-number-of-renews-per-min=1 #該實(shí)例健康檢查url,絕對(duì)路徑 eureka.instance.health-check-url= #該實(shí)例健康檢查url,相對(duì)路徑 eureka.instance.health-check-url-path=/health #該實(shí)例的主頁url,絕對(duì)路徑 eureka.instance.home-page-url= #該實(shí)例的主頁url,相對(duì)路徑 eureka.instance.home-page-url-path=/ #該實(shí)例的安全健康檢查url,絕對(duì)路徑 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 #該實(shí)例的安全虛擬主機(jī)名稱(https) eureka.instance.secure-virtual-host-name=unknown #該實(shí)例的虛擬主機(jī)名稱(http) eureka.instance.virtual-host-name=unknown #該實(shí)例的狀態(tài)呈現(xiàn)url,絕對(duì)路徑 eureka.instance.status-page-url= #該實(shí)例的狀態(tài)呈現(xiàn)url,相對(duì)路徑 eureka.instance.status-page-url-path=/status |
|