SpringCloud 向Eureka注冊

2023-08-07 10:26 更新

當(dāng)客戶端向Eureka注冊時,它會提供有關(guān)其自身的元數(shù)據(jù)-例如主機(jī),端口,運行狀況指示器URL,主頁和其他詳細(xì)信息。Eureka從屬于服務(wù)的每個實例接收心跳消息。如果心跳在可配置的時間表上進(jìn)行故障轉(zhuǎn)移,則通常會將實例從注冊表中刪除。

以下示例顯示了最小的Eureka客戶端應(yīng)用程序:

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello world";
    }

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

請注意,前面的示例顯示了普通的Spring Boot應(yīng)用程序。通過在類路徑上使用?spring-cloud-starter-netflix-eureka-client?,您的應(yīng)用程序?qū)⒆詣釉贓ureka服務(wù)器中注冊。如下例所示,需要進(jìn)行配置才能找到Eureka服務(wù)器:

application.yml。 

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

在前面的示例中,?defaultZone?是一個魔術(shù)字符串后備值,它為任何不表達(dá)首選項的客戶端提供服務(wù)URL(換句話說,這是一個有用的默認(rèn)值)。

defaultZone屬性區(qū)分大小寫,并且需要使用駝峰式大小寫,因為serviceUrl屬性是Map<String, String>。因此,defaultZone屬性不遵循default-zone的常規(guī)Spring Boot蛇形慣例。

默認(rèn)應(yīng)用程序名稱(即服務(wù)ID),虛擬主機(jī)和非安全端口(從?Environment?獲?。┓謩e為?${spring.application.name}?,?${spring.application.name}?和?${server.port}?。

在類路徑上具有?spring-cloud-starter-netflix-eureka-client?可使應(yīng)用程序同時進(jìn)入Eureka “ 實例 ”(即,它自己注冊)和“ 客戶端 ”(它可以查詢注冊表以定位其他服務(wù))。實例行為由?eureka.instance.*?配置鍵驅(qū)動,但是如果確保您的應(yīng)用程序具有?spring.application.name?的值(這是Eureka服務(wù)ID或VIP的默認(rèn)值),則默認(rèn)值很好。

有關(guān)可配置選項的更多詳細(xì)信息,請參見EurekaInstanceConfigBeanEurekaClientConfigBean

要禁用Eureka Discovery Client,可以將?eureka.client.enabled?設(shè)置為?false?。當(dāng)?spring.cloud.discovery.enabled?設(shè)置為?false?時,Eureka Discovery Client也將被禁用。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號