Detectar y registrar sus aplicaciones Spring Boot

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

Este artículo se aplica a: ✔️ Consumo estándar y dedicado (versión preliminar) ✔️ Básico/Estándar ❌ Enterprise

En este artículo se muestra cómo registrar la aplicación mediante el registro de servicios de Spring Cloud.

El registro y la detección de servicios son requisitos clave para mantener una lista de instancias de aplicaciones activas a las que se debe llamar, así como para enrutar y equilibrar la carga de las solicitudes entrantes. La configuración manual de cada cliente lleva tiempo e introduce la posibilidad de que se produzcan errores humanos. Azure Spring Apps proporciona dos opciones para resolver este problema:

Nota:

Para usar el registro de servicio en el plan estándar de consumo y dedicado, primero debe habilitarlo. Para más información, consulte Habilitación y deshabilitación del servidor Eureka en Azure Spring Apps.

  • Use el enfoque de detección de servicios de Kubernetes para invocar llamadas entre las aplicaciones.

    Azure Spring Apps crea un servicio de Kubernetes correspondiente para cada aplicación que se ejecuta en él. Para ello, usa el nombre de la aplicación como nombre del servicio de Kubernetes. Puede invocar llamadas de una aplicación a otra mediante el nombre de la aplicación en una solicitud HTTP/HTTPS, como, por ejemplo, http(s)://{app name}/path. Este enfoque también es adecuado para el plan Enterprise. Para obtener más información, consulte el ejemplo de código del registro de Kubernetes.

    Nota:

    Este enfoque no es adecuado para el consumo estándar y dedicado (versión preliminar).

  • Use el Registro de servicio de Spring Cloud (OSS) administrado en Azure Spring Apps.

    Una vez configurado, un servidor de registro de servicios controlará el registro y la detección de servicios de las aplicaciones. El servidor de registro de servicios mantiene un registro de las instancias de aplicaciones activas, habilita el equilibrio de carga del lado cliente y desacopla los proveedores de servicios de los clientes sin depender del DNS.

Para obtener información sobre cómo configurar el registro de servicio para una aplicación de Steeltoe, consulte Preparación de una aplicación Java de Spring para la implementación en Azure Spring Apps.

Registro de la aplicación mediante el registro de servicios de Spring Cloud

Para que la aplicación pueda administrar el registro y la detección de servicios mediante el registro de servicios de Spring Cloud, debe incluir la dependencia siguiente para spring-cloud-starter-netflix-eureka-client en el archivo pom.xml:

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

Actualización de la clase de nivel superior

Por último, agregue una anotación a la clase de nivel superior de la aplicación, tal y como se muestra en el ejemplo siguiente:

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

El punto de conexión del servidor de Spring Cloud Service Registry se inserta como una variable de entorno en la aplicación. Las aplicaciones se pueden registrar por sí solas en el servidor de Service Registry y detectar otras aplicaciones dependientes.

Nota:

Los cambios pueden tardar unos minutos en propagarse del servidor a todas las aplicaciones.

Pasos siguientes

En este artículo, a aprendido cómo registrar la aplicación mediante el registro de servicios de Spring Cloud. Para obtener información sobre cómo acceder al Registro de servicios de Spring Cloud mediante el control de acceso basado en rol (RBAC) de Microsoft Entra, consulte Access Config Server and Service Registry.