https://github.com/edgar-code-repository/spring-cloud-hystrix-example
Microservicios de ejemplo, desarrollados con Spring Boot y Spring Cloud.
https://github.com/edgar-code-repository/spring-cloud-hystrix-example
Last synced: over 1 year ago
JSON representation
Microservicios de ejemplo, desarrollados con Spring Boot y Spring Cloud.
- Host: GitHub
- URL: https://github.com/edgar-code-repository/spring-cloud-hystrix-example
- Owner: edgar-code-repository
- Created: 2019-07-07T22:07:21.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-07T22:09:52.000Z (almost 7 years ago)
- Last Synced: 2025-01-23T04:29:25.058Z (over 1 year ago)
- Language: Java
- Homepage:
- Size: 494 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
HYSTRIX EXAMPLE WITH SPRING CLOUD
--------------------------------------------------------------------------------------------------------------------
Microservicios de ejemplo, desarrollados con Spring Boot y Spring Cloud,
en que se muestra el uso del Circuit Breaker Hystrix.
Se construye servicio que recupera información de películas desde servicio movie-info-service.
En caso de que el servicio de películas se encuentre abajo o no responda adecuadamente,
se genera un retorno por defecto, llamando a un metodo "fallback".
--------------------------------------------------------------------------------------------------------------------
**Servicio de películas**
Este servicio contiene un controller Rest que retorna un listado de películas.
**Archivo de propiedades**
En el archivo application.properties se indica que este servicio se levanta en el puerto 5501.

**Ejecución**
Se levanta servicio "movie-info-service" en el puerto 5501:

--------------------------------------------------------------------------------------------------------------------
**Servicio Hystrix**
**Dependencias**
Para acceder a las funcionalidades del Circuit Breaker,
se utiliza la dependencia "spring-cloud-starter-netflix-hystrix".
```
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
```
**Archivo de propiedades**
En el archivo application.properties se configura el puerto 6601.
```
server.port=6601
```
**Anotaciones**
La anotación @EnableCircuitBreaker permite que el servicio actue como un Circuit Breaker.
```
@SpringBootApplication
@EnableCircuitBreaker
public class HystrixExampleApplication {
public static void main(String[] args) {
SpringApplication.run(HystrixExampleApplication.class, args);
}
}
```
**Ejecución**
Se levanta servicio en el puerto 6601, que recupera la informacion
obtenida desde el servicio de peliculas:

Si el servicio de peliculas no responde, se utiliza estrategia de fallback
gatillando una llamada al metodo getDefaultMoviesList.

Retorno generado por metodo fallback getDefaultMoviesList:

--------------------------------------------------------------------------------------------------------------------