服務發現是基於微服務的架構的關鍵原則之一。嘗試手動配置每個客戶端或某種形式的約定可能會很困難且脆弱。 Eureka 是 Netflix 服務發現伺服器和用戶端。伺服器可以配置和部署為高可用性,每個伺服器將註冊服務的狀態複製到其他伺服器。
要將 Eureka 用戶端包含在您的專案中,請使用群組 ID 為 org.springframework.cloud 且工件 ID 為 spring-cloud-starter-netflix-eureka-client 的啟動器。請參閱 Spring Cloud 專案頁面,以了解有關使用目前 Spring Cloud Release Train 設定建置系統的詳細資訊。
當客戶端註冊到 Eureka 時,它會提供有關自身的元資料 — 例如主機、連接埠、健康指標 URL、主頁和其他詳細資訊。 Eureka 從屬於服務的每個實例接收心跳訊息。如果心跳在可設定的時間表內失敗,則該實例通常會從登錄中刪除。
以下範例顯示了一個最小的 Eureka 用戶端應用程式:
@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 應用程式。透過在類別路徑上新增 spring-cloud-starter-netflix-eureka-client,您的應用程式會自動向 Eureka Server 註冊。需要設定來定位 Eureka 伺服器,如下例所示:
application.yml
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
在前面的範例中,defaultZone 是一個神奇的字串後備值,它為任何不表達偏好的客戶端提供服務 URL(換句話說,它是一個有用的預設值)。
以上是春天尤里卡的詳細內容。更多資訊請關注PHP中文網其他相關文章!