共用方式為


探索並註冊 Spring Boot 應用程式

注意

Azure Spring Apps 是 Azure Spring Cloud 服務的新名稱。 雖然服務有新的名稱,但在我們努力更新資產,例如螢幕快照、影片和圖表時,您會在某些地方看到舊名稱一段時間。

本文適用於: ✔️標準取用和專用 (預覽) ✔️ 基本/標準 ❌ 企業

本文說明如何使用 Spring Cloud Service Registry 註冊應用程式。

服務註冊和探索是維護即時應用程式實例清單來呼叫、路由和負載平衡輸入要求的重要需求。 手動設定每個用戶端需要時間,並引入人為錯誤的可能性。 Azure Spring Apps 提供兩個選項供您解決此問題:

注意

若要在標準取用和專用方案中使用服務登錄,您必須先加以啟用。 如需詳細資訊,請參閱 在 Azure Spring Apps 中啟用和停用 Eureka 伺服器。

  • 使用 Kubernetes Service Discovery 方法來叫用應用程式之間的呼叫。

    Azure Spring Apps 會使用應用程式名稱做為 Kubernetes 服務名稱,為其中執行的每個應用程式建立對應的 Kubernetes 服務。 您可以使用 HTTP/HTTPS 要求中的應用程式名稱,叫用從某個應用程式到另一個應用程式的呼叫,例如 http(s)://{app name}/path。 此方法也適用於企業方案。 如需詳細資訊,請參閱 Kubernetes 登錄程式代碼範例

    注意

    此方法不適用於標準取用和專用 (預覽)。

  • 在 Azure Spring Apps 中使用受控 Spring Cloud Service Registry (OSS)。

    設定之後,服務登錄伺服器會控制應用程式的服務註冊和探索。 Service Registry 伺服器會維護即時應用程式實例的登錄、啟用用戶端負載平衡,並將服務提供者與用戶端分離,而不需要依賴 DNS。

如需如何為 Steeltoe 應用程式設定服務註冊的資訊,請參閱 準備 Java Spring 應用程式以在 Azure Spring Apps 中部署。

使用 Spring Cloud Service Registry 註冊您的應用程式

在您的應用程式可以使用 Spring Cloud Service Registry 管理服務註冊和探索之前,您必須在pom.xml檔案中包含下列相依性spring-cloud-starter-netflix-eureka-client

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

更新最上層類別

最後,將註釋新增至應用程式的最上層類別,如下列範例所示:

package foo.bar;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

@SpringBootApplication
@EnableEurekaClient
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

Spring Cloud Service Registry 伺服器端點會插入為應用程式中的環境變數。 應用程式可以向 Service Registry 伺服器註冊自己,並探索其他相依應用程式。

注意

變更可能需要幾分鐘的時間,才能從伺服器傳播到所有應用程式。

下一步

在本文中,您已瞭解如何使用 Spring Cloud Service Registry 註冊應用程式。 若要瞭解如何使用 Microsoft Entra 角色型訪問控制來存取 Spring Cloud Service Registry,請參閱 Access Config Server and Service Registry