Skip to content

Implementación de Servidor de Registro Eureka, implementamos servicios como cliente eureka, escalamos con puerto dinámico, biblioteca hystrix para tolerancia a fallos y latencia, configuracion puerta de enlace zuul y fitros(pre,post))

Notifications You must be signed in to change notification settings

joanvasquez21/microservicios-producto-items-eureka

Repository files navigation

# microservicios-producto-items-eureka

Implementación de Servidor de Registro Eureka, implementamos servicios como cliente eureka, escalamos con puerto dinámico, biblioteca hystrix para tolerancia a fallos y latencia, configuracion puerta de enlace zuul y fitros(pre,post)) 1.-Creamos un nuevo proyecto llamado springboot-servicio-eurekaserver y en el pom o a traves de la herramienta de sts añadimos la dependencia de eureka.server en el POM.


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

2.-En los microservicios clientes añadimos la dependencia eureka-client

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

3.-Escalamos microservicios con puertos dinámicos, generamos instancias distintas en un puerto distinto image

4.- Para trabajar con tolerancia a fallos y latencia en hystrix agregamos la siguiente dependencia

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

y añadimos la anotación @EnableCircuitBraker en la clase principal para habilitarlo. image 5.- Añadimos la anotación @HystrixCommand(fallbackMethod="nombredelmetodoalternativo") image 6.- Configurando los timeout para hystrix, añadimos en el application.properties

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 130000
ribbon.ConnectTimeout: 3000
ribbon.ReadTimeout: 10000

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 130000 Esta configuración establece el tiempo maximo (en milisegundos) que Hystrix esperara por la respuesta de un comando antes de considerarlo como una solicitud que ha excedido el tiempo de espera y debe ser manejada de acuerdo a las políticas de Hystrix (como activar el circuit breaker o ejecutar una lógica de respaldo). ribbon.ConnectTimeout: 3000 Esta configuración se refiere a la cantidad de tiempo (en milisegundos) que el cliente Ribbon (utilizado para el balanceo de carga en entornos de microservicios) esperará para establecer una conexión con un servicio. ribbon.ReadTimeout: 10000 Esta configuración se relaciona con el tiempo máximo (en milisegundos) que el cliente Ribbon esperará para recibir la respuesta de un servicio después de haber establecido la conexión.

7.- Creando servidor zuul, creamos un nuevo proyecto y añadimos en el pom la siguiente dependencia

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

8.- En su clase principal añadimos la anotacion @EnableZuulProxy y configuramos como cliente Eureka image 9.- Se conectara a traves de las siguientes puertas de enlace /api/items/** y /api/productos/** image 10.- Añadimos filtros zuul http pre Pre: Se ejecuta antes de que el request sea enrutado, se utiliza para pasar datos al request Post: Se ejecuta despues de que el request haya sido enrutad, se usa para modificar la respuesta

image image

About

Implementación de Servidor de Registro Eureka, implementamos servicios como cliente eureka, escalamos con puerto dinámico, biblioteca hystrix para tolerancia a fallos y latencia, configuracion puerta de enlace zuul y fitros(pre,post))

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages