SpringCloud 發(fā)現(xiàn)第一引導程序

2023-08-03 09:41 更新

如果使用?DiscoveryClient?實現(xiàn),例如Spring Cloud Netflix和Eureka Service Discovery或Spring Cloud Consul,則可以讓Config Server向Discovery Service注冊。但是,在默認的“ Config First ”模式下,客戶端無法利用注冊。

如果您更喜歡使用?DiscoveryClient?來查找配置服務器,則可以通過設置?spring.cloud.config.discovery.enabled=true?(默認值為?false?)來進行。這樣做的最終結(jié)果是,所有客戶端應用程序都需要具有適當發(fā)現(xiàn)配置的?bootstrap.yml?(或環(huán)境變量)。例如,對于Spring Cloud Netflix,您需要定義Eureka服務器地址(例如,在?eureka.client.serviceUrl.defaultZone?中)。使用此選項的價格是啟動時需要進行額外的網(wǎng)絡往返,以查找服務注冊。好處是,只要發(fā)現(xiàn)服務是固定點,配置服務器就可以更改其坐標。默認服務ID是?configserver?,但是您可以通過設置?spring.cloud.config.discovery.serviceId?在客戶端上(以及在服務器上,以一種通常的服務方式,例如通過設置?spring.application.name?)來更改該ID。

發(fā)現(xiàn)客戶端實現(xiàn)均支持某種元數(shù)據(jù)映射(例如,對于Eureka,我們有?eureka.instance.metadataMap?)。Config Server的某些其他屬性可能需要在其服務注冊元數(shù)據(jù)中進行配置,以便客戶端可以正確連接。如果Config Server受HTTP Basic保護,則可以將憑據(jù)配置為?user?和?password?。另外,如果Config Server具有上下文路徑,則可以設置?configPath?。例如,以下YAML文件適用于作為Eureka客戶端的Config Server:

bootstrap.yml。 

eureka:
  instance:
    ...
    metadataMap:
      user: osufhalskjrtl
      password: lviuhlszvaorhvlo5847
      configPath: /config


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號