Si está desarrollando aplicaciones de microservicios, es posible que haya encontrado el desafío de la detección de servicios. El descubrimiento de servicios es el proceso de encontrar y localizar otros servicios en un sistema distribuido. Permite equilibrar la carga del lado del cliente, tolerancia a fallos y configuración dinámica.
Una de las herramientas más populares para el descubrimiento de servicios es Netflix Eureka. En este artículo, le mostraremos cómo descargar y usar Eureka Server para la detección de servicios. También explicaremos qué es Eureka Server, por qué lo necesita y cuáles son algunas alternativas.
Eureka Server es un servicio basado en REST que actúa como un registro para todos sus microservicios. Permite que cada servicio se registre con el servidor y descubra otros servicios a través de una simple API. Eureka Server también proporciona controles de mantenimiento, almacenamiento en caché, replicación y mecanismos de conmutación por error.
Eureka Server es parte del conjunto de herramientas de Netflix OSS para crear aplicaciones nativas de la nube. Se integra bien con otros componentes de Netflix como Zuul (servidor de borde), Ribbon (equilibrador de carga del lado del cliente) e Hystrix (interruptor de circuito).
Eureka Server ofrece varias ventajas para el desarrollo de microservicios, como:
Para descargar y usar Eureka Server, necesita lo siguiente:
La forma más fácil de descargar Eureka Server es usar el sitio web de Spring Initializr. Siga estos pasos:
Eureka Server de la lista de opciones. Generar para descargar un archivo ZIP que contiene su proyecto. También puede clonar o descargar el código fuente desde el repositorio GitHub [14](https://github.com/spring-guides/gs-service-registration-and-discovery.git).
Para iniciar Eureka Server, necesita agregar la anotación @EnableEurekaServer a su clase de aplicación principal. Por ejemplo:
Entonces, puede ejecutar su aplicación como una aplicación normal de arranque de primavera. Puede usar el comando mvn spring-boot:run si está usando Maven, o el comando gradle bootRun si está usando Gradle.

Puede configurar varias propiedades de Eureka Server utilizando el archivo application.properties o application.yml en su proyecto. Algunas de las propiedades comunes son:
| Propiedad |
|---|
| Descripción |
|---|
| Valor predeterminado |
|---|
eureka.client.register-with-eureka |
| Si registrar el servidor Eureka como servicio. |
false |
eureka.client.fetch-registry |
| Si desea obtener la información del registro de otros servidores Eureka. |
false |
eureka.client.service-url.defaultZone |
| La URL de la zona por defecto donde se encuentra el servidor Eureka. |
eureka.instance.hostname |
| El nombre de host de la instancia del servidor Eureka. |
| La dirección IP de la instancia. |
eureka.server.enable-self-preservation |
| Si habilitar el modo de auto-preservación, que impide que el servidor expire servicios cuando hay una partición de red. |
true |
eureka.server.eviction-interval-timer-in-ms |
| El intervalo en milisegundos para buscar servicios caducados y eliminarlos del registro. |
60000 |
eureka.server.renewal-percent-threshold |
| Porcentaje de renovaciones de servicios que se esperan en un período dado. Si las renovaciones caen por debajo de este umbral, se activa el modo de autopreservación. |
0.85 |
Para registrar sus microservicios con Eureka Server, debe agregar la anotación @EnableDiscoveryClient a su clase de aplicación principal. Por ejemplo: resultado/p>
También necesita agregar la dependencia Eureka Client a su proyecto. Puede utilizar el sitio web de Spring Initializr o los siguientes fragmentos de Maven o Gradle:
Finalmente, necesita especificar la URL del servidor Eureka en su archivo application.properties o application.yml. Por ejemplo: resultado/p>
Ahora, puede ejecutar su microservicio como una aplicación normal de Spring Boot y se registrará automáticamente con Eureka Server. Puede verificar esto comprobando el panel de control de Eureka Server y viendo su nombre de servicio e ID de instancia.
También puede usar la anotación @LoadBalanced en un frijol RestTemplate para habilitar el equilibrio de carga del lado del cliente y usar el nombre del servicio en lugar de la URL al realizar llamadas REST. Por ejemplo: resultado/p>
No existe una solución única para el descubrimiento de servicios. La mejor herramienta para sus necesidades depende de varios factores, como:
En este artículo, le hemos mostrado cómo descargar y usar Eureka Server para la detección de servicios. También hemos explicado qué es Eureka Server, por qué lo necesita y cuáles son algunas alternativas.
Eureka Server es un registro de servicios simple y resistente que se integra bien con otros componentes de Netflix OSS y Spring Cloud. Permite registrar y descubrir microservicios en un sistema distribuido con una configuración y dependencias mínimas.
Sin embargo, Eureka Server no es la única opción para la detección de servicios. Hay otras herramientas que ofrecen características y capacidades similares o diferentes. Debe elegir la mejor herramienta de detección de servicios para sus necesidades en función de varios factores como el tamaño, la complejidad, las características, los requisitos, la compatibilidad, la integración, el costo y el mantenimiento de su sistema.
Esperamos que este artículo le haya ayudado a aprender más sobre Eureka Server y la detección de servicios. Si tiene alguna pregunta o comentario, no dude en dejar un comentario a continuación.
Eureka Server es el registro de servicios que mantiene la información sobre todos los servicios registrados. Eureka Client es la biblioteca que permite a los servicios registrarse con Eureka Server y descubrir otros servicios a través de ella.
Puede escalar su Eureka Server ejecutando múltiples instancias en diferentes zonas o regiones. Puede configurarlos para que se comuniquen entre sí mediante la replicación entre pares o un registro central. También puede usar un equilibrador de carga o un servidor DNS para enrutar las solicitudes a los servidores Eureka disponibles.
Puede monitorear su servidor Eureka usando Spring Boot Actuator o Spring Cloud Netflix Turbine. Puede exponer varias métricas y puntos finales para verificar el estado, la configuración y el rendimiento de su servidor Eureka. También puede utilizar herramientas externas como Prometheus o Grafana para visualizar y analizar los datos.
Puede solucionar problemas de su servidor Eureka utilizando Spring Boot DevTools o Spring Cloud Netflix Hystrix. Puede habilitar funciones de registro, seguimiento, depuración y prueba para su servidor Eureka. También puede usar herramientas externas como Zipkin o Sleuth para rastrear y rastrear las solicitudes en sus microservicios.
17b9afdd22