Odnajdywanie i rejestrowanie aplikacji Spring Boot

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

Ten artykuł dotyczy: ✔️ Użycie standardowe i dedykowane (wersja zapoznawcza) ✔️ w warstwie Podstawowa/Standardowa ❌ Enterprise

W tym artykule pokazano, jak zarejestrować aplikację przy użyciu usługi Spring Cloud Service Registry.

Rejestracja i odnajdywanie usługi są kluczowymi wymaganiami dotyczącymi obsługi listy wystąpień aplikacji na żywo do wywoływania oraz routingu i równoważenia obciążenia żądań przychodzących. Ręczne konfigurowanie każdego klienta wymaga czasu i wprowadzenie możliwości błędu ludzkiego. Usługa Azure Spring Apps oferuje dwie opcje rozwiązania tego problemu:

Uwaga

Aby korzystać z rejestru usług w ramach planu standardowego i dedykowanego, należy go najpierw włączyć. Aby uzyskać więcej informacji, zobacz Włączanie i wyłączanie serwera Eureka w usłudze Azure Spring Apps.

  • Użyj metody odnajdywania usługi Kubernetes Service, aby wywołać wywołania między aplikacjami.

    Usługa Azure Spring Apps tworzy odpowiednią usługę Kubernetes dla każdej aplikacji uruchomionej w niej przy użyciu nazwy aplikacji jako nazwy usługi Kubernetes. Wywołania z jednej aplikacji do innej aplikacji można wywołać przy użyciu nazwy aplikacji w żądaniu HTTP/HTTPS, takim jak http(s)://{app name}/path. To podejście jest również odpowiednie dla planu Enterprise. Aby uzyskać więcej informacji, zobacz przykładowy kod rejestru Kubernetes.

    Uwaga

    To podejście nie jest odpowiednie do użycia w warstwie Standardowa i dedykowanej (wersja zapoznawcza).

  • Użyj zarządzanego rejestru Spring Cloud Service Registry (OSS) w usłudze Azure Spring Apps.

    Po skonfigurowaniu serwer rejestru usług będzie kontrolować rejestrację i odnajdywanie usług dla aplikacji. Serwer rejestru usług obsługuje rejestr wystąpień aplikacji na żywo, umożliwia równoważenie obciążenia po stronie klienta i oddzielenie dostawców usług od klientów bez polegania na systemie DNS.

Aby uzyskać informacje o sposobie konfigurowania rejestracji usługi dla aplikacji Steeltoe, zobacz Przygotowywanie aplikacji Java Spring do wdrożenia w usłudze Azure Spring Apps.

Rejestrowanie aplikacji przy użyciu usługi Spring Cloud Service Registry

Aby aplikacja mogła zarządzać rejestracją i odnajdywaniem usługi przy użyciu usługi Spring Cloud Service Registry, należy uwzględnić następującą zależność spring-cloud-starter-netflix-eureka-client w pliku pom.xml :

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

Aktualizowanie klasy najwyższego poziomu

Na koniec dodaj adnotację do klasy najwyższego poziomu aplikacji, jak pokazano w poniższym przykładzie:

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);
    }
}

Punkt końcowy serwera Spring Cloud Service Registry jest wstrzykiwany jako zmienna środowiskowa w aplikacji. Aplikacje mogą rejestrować się na serwerze usługi Service Registry i odnajdywać inne aplikacje zależne.

Uwaga

Propagacja zmian z serwera do wszystkich aplikacji może potrwać kilka minut.

Następne kroki

W tym artykule przedstawiono sposób rejestrowania aplikacji przy użyciu usługi Spring Cloud Service Registry. Aby dowiedzieć się, jak uzyskać dostęp do rejestru Spring Cloud Service Registry przy użyciu kontroli dostępu opartej na rolach firmy Microsoft (RBAC), zobacz Access Config Server and Service Registry (Dostęp do serwera konfiguracji i rejestru usług).