Tutorial: Uso del panel de Circuit Breaker con Azure Spring Apps
Artículo
Advertencia
Hystrix ya no está en desarrollo activo y actualmente está en modo de mantenimiento.
Nota
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
Este artículo se aplica a:✅ Básico/Estándar ✅ Enterprise
En este artículo se muestra cómo usar Netflix Turbine y Netflix Hystrix en Azure Spring Apps. Spring Cloud Netflix Turbine se usa con frecuencia para agregar varias secuencias de métricas de Netflix Hystrix, de modo que se puedan supervisar en una sola vista mediante el panel de Hystrix.
Nota
Netflix Hystrix se usa con frecuencia en muchas aplicaciones de Spring ya existentes, pero ya no se encuentra en desarrollo activo. Si está desarrollando un proyecto nuevo, utilice en su lugar implementaciones de Spring Cloud Circuit Breaker como resilience4j. A diferencia de Turbine, que se muestra en este tutorial, el nuevo marco de Spring Cloud Circuit Breaker unifica todas las implementaciones de su canalización de datos de métricas en Micrometer, que también se admite en Azure Spring Apps. Para más información, vea Recopilación de métricas de Spring Cloud Resilience4J Circuit Breaker con Micrometer (versión preliminar).
Clone el repositorio de ejemplo en el entorno de desarrollo:
git clone https://github.com/Azure-Samples/azure-spring-apps-samples.git
cd azure-spring-apps-samples/hystrix-turbine-sample
Compile las tres aplicaciones que se encuentran en este tutorial:
user-service: Un servicio REST sencillo que tiene un único punto de conexión de /personalized/{id}
recommendation-service: un servicio REST sencillo que tiene un único punto de conexión de /recommendations, al que user-service llamará.
hystrix-turbine: Un servicio de panel de Hystrix para mostrar secuencias de Hystrix y un servicio de Turbine que agrega una secuencia de métricas de Hystrix de otros servicios.
Implementación de las aplicaciones en Azure Spring Apps
Estas aplicaciones no usan Config Server, por lo que no es necesario configurar Config Server para Azure Spring Apps. Cree e implemente de la manera siguiente:
az configure --defaults \
group=<resource-group-name> \
spring=<Azure-Spring-Apps-instance-name>
az spring app create --name user-service --assign-endpoint
az spring app create --name recommendation-service
az spring app create --name hystrix-turbine --assign-endpoint
az spring app deploy \
--name user-service \
--artifact-path user-service/target/user-service.jar
az spring app deploy \
--name recommendation-service \
--artifact-path recommendation-service/target/recommendation-service.jar
az spring app deploy \
--name hystrix-turbine \
--artifact-path hystrix-turbine/target/hystrix-turbine.jar
Comprobación de las aplicaciones
Una vez que todas las aplicaciones se estén ejecutando y sean reconocibles, acceda a user-service con la ruta de acceso https://<Azure-Spring-Apps-instance-name>-user-service.azuremicroservices.io/personalized/1 desde el explorador. Si user-service puede acceder a recommendation-service, debería obtener la siguiente salida. Actualice la página web varias veces si no funciona.
Acceso al panel de Hystrix y a la secuencia de métricas
Compruebe el uso de puntos de conexión públicos o puntos de conexión de prueba privados.
Uso de puntos de conexión públicos
Acceda a Hystrix-Turbine con la ruta de acceso https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/hystrix desde el explorador. En la siguiente ilustración se muestra el panel de Hystrix que se ejecuta en esta aplicación.
Copie la dirección URL de la secuencia de Turbine https://<SERVICE-NAME>-hystrix-turbine.azuremicroservices.io/turbine.stream?cluster=default en el cuadro de texto y seleccione Monitor Stream (Supervisar secuencia). Esta acción muestra el panel. Si no se muestra nada en el visor, ejecute los puntos de conexión user-service para generar secuencias.
Nota
En un entorno de producción, el panel de Hystrix y la secuencia de métricas no se deben exponer a Internet.
Uso de puntos de conexión privados
Las secuencias de métricas de Hystrix también son accesibles desde test-endpoint. Como servicio back-end, no asignamos un punto de conexión público para recommendation-service, pero podemos mostrar sus métricas con test-endpoint en https://primary:<KEY>@<SERVICE-NAME>.test.azuremicroservices.io/recommendation-service/default/actuator/hystrix.stream
Como aplicación web, el panel de Hystrix debe estar funcionando en test-endpoint. Si no funciona correctamente, puede haber dos motivos: en primer lugar, el uso de test-endpoint ha cambiado la dirección URL base de / a /<APP-NAME>/<DEPLOYMENT-NAME>, o bien, en segundo lugar, la aplicación web usa la ruta de acceso absoluta para el recurso estático. Para que funcione en test-endpoint, es posible que tenga que editar manualmente <base> en los archivos de front-end.
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.