Módulo: Microservicios con Spring Cloud
Este módulo forma parte del curso de SpringBoot. Incluye 15 lecciones y 3 ejercicios de programación .
Spring Boot 3 y Spring Cloud son dos herramientas fundamentales para la creación de microservicios en el ecosistema Java. Este módulo se centra en cómo utilizar Spring Cloud para desarrollar y gestionar microservicios eficientemente con Spring Boot 3.
Configuración inicial
Para comenzar, necesitamos configurar nuestro proyecto de Spring Boot 3. Utilizaremos Spring Initializr para generar la estructura básica del proyecto.
spring init --dependencies=web,cloud-config-client,cloud-eureka spring-cloud-microservices
Dependencias en build.gradle
Asegúrate de incluir las siguientes dependencias en tu archivo build.gradle
:
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.cloud:spring-cloud-starter-config'
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
}
Configuración del servidor de configuración
Spring Cloud Config Server permite centralizar la configuración de tus microservicios. Primero, crea un nuevo proyecto para el servidor de configuración.
Configuración de application.yml
server:
port: 8888
spring:
cloud:
config:
server:
git:
uri: https://github.com/tu-repositorio/config-repo
Clase principal del servidor de configuración
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServerApplication.class, args);
}
}
Registro de microservicios con Eureka
Eureka es un servicio de descubrimiento que facilita la comunicación entre microservicios.
Configuración de application.yml
en el cliente Eureka
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
Clase principal del cliente Eureka
@SpringBootApplication
@EnableEurekaClient
public class EurekaClientApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
}
Balanceo de carga con Ribbon
Ribbon se utiliza para balancear la carga entre instancias de microservicios.
Configuración de Ribbon en application.yml
ribbon:
eureka:
enabled: true
listOfServers: localhost:8081,localhost:8082
Clase principal
@SpringBootApplication
@EnableDiscoveryClient
public class RibbonApplication {
public static void main(String[] args) {
SpringApplication.run(RibbonApplication.class, args);
}
}
Comunicación entre microservicios con Feign
Feign simplifica la comunicación entre microservicios al proporcionar una interfaz RESTful.
Configuración de Feign en application.yml
feign:
hystrix:
enabled: true
Interfaz Feign
@FeignClient(name = "service-name")
public interface ServiceClient {
@GetMapping("/endpoint")
String getData();
}
Clase principal
@SpringBootApplication
@EnableFeignClients
public class FeignApplication {
public static void main(String[] args) {
SpringApplication.run(FeignApplication.class, args);
}
}
Ejercicios de programación
Otros módulos de este curso
Microservicios con Spring Cloud
Lecciones de este módulo
Explora todas las lecciones disponibles en Microservicios con Spring Cloud
Todos los módulos del curso
Navega entre los módulos de SpringBoot
Microservicios con Spring Cloud
Estás aquíExplora más sobre SpringBoot
Descubre más recursos de SpringBoot

Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, SpringBoot es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.