Introducción a la aplicación de ejemplo

En esta serie de guías de inicio rápido se usa una aplicación de ejemplo compuesta por dos microservicios para mostrar cómo implementar una aplicación .NET Core de Steeltoe en el servicio Azure Spring Cloud. Usará las funcionalidades de Azure Spring Cloud, como detección de servicios, servidor de configuración, registros, métricas y seguimiento distribuido.

Servicios funcionales

La aplicación de ejemplo se compone de dos microservicios:

  • El servicio planet-weather-provider devuelve el texto meteorológico en respuesta a una solicitud HTTP que especifica el nombre del planeta. Por ejemplo, puede devolver "muy cálido" para el planeta Mercurio. Obtiene los datos meteorológicos del servidor de configuración. El servidor de configuración obtiene los datos meteorológicos de un archivo YAML en un repositorio Git, por ejemplo:

    MercuryWeather: very warm
    VenusWeather: quite unpleasant
    MarsWeather: very cool
    SaturnWeather: a little bit sandy
    
  • El servicio solar-system-weather devuelve datos de cuatro planetas en respuesta a una solicitud HTTP. Obtiene los datos de realizar cuatro solicitudes HTTP a planet-weather-provider. Usa el servicio de detección de servidores Eureka para llamar a planet-weather-provider. Devuelve un archivo JSON, por ejemplo:

    [{
         "Key": "Mercury",
         "Value": "very warm"
    }, {
         "Key": "Venus",
         "Value": "quite unpleasant"
    }, {
         "Key": "Mars",
         "Value": "very cool"
    }, {
         "Key": "Saturn",
         "Value": "a little bit sandy"
    }]
    

En el diagrama siguiente se muestra la arquitectura de la aplicación de ejemplo:

Diagrama de la aplicación de ejemplo

Repositorio de código

La aplicación de ejemplo se encuentra en la carpeta steeltoe-sample del repositorio Azure-Samples/Azure-Spring-Cloud-Samples en GitHub.

Las instrucciones de las siguientes guías de inicio rápido hacen referencia al código fuente según sea necesario.

En este inicio rápido, vamos a usar la versión de microservicios de la ya conocida aplicación de ejemplo PetClinic, que le mostrará cómo implementar aplicaciones en el servicio Azure Spring Cloud. El ejemplo PetClinic muestra el patrón de arquitectura de microservicios y resalta el desglose de los servicios. Verá cómo se implementan los servicios en Azure con las funcionalidades de Azure Spring Cloud como la detección de servicios, el servidor de configuración, los registros, las métricas, el seguimiento distribuido y el soporte técnico para herramientas sencillo de usar para los desarrolladores.

Para seguir los ejemplos de implementación de Azure Spring Cloud, solo necesita la ubicación del código fuente, que se proporciona si es necesario.

Arquitectura de PetClinic

Servicios funcionales que se implementarán

PetClinic se descompone en 4 microservicios principales. y todos ellos son aplicaciones que se pueden implementar de forma independiente y organizadas por dominios empresariales.

  • Customers service: contiene la lógica de entrada del usuario general y la validación, incluida la información sobre mascotas y sus propietarios (nombre, dirección, ciudad, teléfono).
  • Visits service: almacena y muestra la información sobre las visitas en la información de cada mascota.
  • Vets service: almacena y muestra la información sobre los veterinarios, incluidos sus nombres y especialidades.
  • API Gateway: API Gateway es un punto de entrada único en el sistema que se usa para controlar las solicitudes y enrutarlas al servicio adecuado, o para invocar varios servicios y agregar los resultados. los tres servicios principales exponen una API externa al cliente. En los sistemas reales, el número de funciones puede aumentar rápidamente con la complejidad del sistema. Cuando se representa una página web compleja puede haber cientos de servicios implicados.

Servicios de infraestructura que hospeda Azure Spring Cloud

En los sistemas distribuidos hay varios patrones comunes que facilitan el funcionamiento de los principales servicios. Azure Spring Cloud proporciona herramientas que mejoran las aplicaciones de Spring Boot para implementar los siguientes patrones:

  • Servicio de configuración: Azure Spring Cloud Config es un servicio de configuración centralizado escalable horizontalmente para sistemas distribuidos. Usa un repositorio conectable que actualmente admite el almacenamiento local, Git y Subversion.
  • Detección de servicios: permite la detección automática de ubicaciones de red para las instancias de servicio que podrían tener direcciones asignadas dinámicamente debido al escalado automático, los errores y las actualizaciones.

Configuración de la base de datos

En su configuración predeterminada, PetClinic usa una base de datos en memoria (HSQLDB) que se rellena en el inicio con datos. Se proporciona una configuración similar para MySql si se necesita una configuración de base de datos persistente. Una dependencia de Connector/J, el controlador JDBC de MySQL, ya está incluida en los archivos pom.xml.

Ejemplo de uso de PetClinic

Para obtener detalles completos de la implementación, consulte nuestra bifurcación de PetClinic. Los ejemplos hacen referencia al código fuente cuando se necesita.

Pasos siguientes