Microservicios usando Spring Boot y Spring Cloud
Publicado: 2020-09-04Tabla de contenido
Introducción a los Microservicios
Los microservicios son servicios pequeños e independientes que funcionan entre sí para lograr un objetivo comercial complejo. Estos servicios son independientes y completos, de modo que pueden ser creados por varios equipos de desarrollo, utilizando diferentes lenguajes de programación y almacenes de datos. Los microservicios son escalables individualmente y se pueden implementar automáticamente. Son fáciles de mantener y brindan una mayor tolerancia a fallas en comparación con los servicios monolíticos. Sin embargo, están débilmente acoplados y son capaces de interactuar entre sí para lograr los objetivos de una aplicación más grande.
Hay varias herramientas disponibles en el mercado para que pueda crear software utilizando una arquitectura de microservicios. Spring Cloud y Spring Boot son marcos populares de microservicios de Java.
Spring Boot es una plataforma de desarrollo de aplicaciones obstinada creada con el marco Spring que se utiliza para desarrollar aplicaciones web Java. Al mismo tiempo, es personalizable y puede configurarlo según sus requisitos. Los aspectos básicos del tutorial de Spring Cloud se discutirán en este blog.
Microservicios con Spring Boot y Spring Cloud
Este tutorial de Spring Cloud proporciona una descripción general básica de la creación de una aplicación de microservicios simple con Spring Boot y Spring Cloud. Además, el tutorial proporciona enlaces a documentación relevante que lo ayudará a lograr sus objetivos de aprendizaje. Deberá hacer lo siguiente:
1. Cree un nuevo servicio usando Spring Boot usando Spring Initializer
De acuerdo con el tutorial de Spring Cloud, el primer paso es crear una estructura de proyecto utilizando Spring Initializer. El inicializador proporciona una forma rápida de agregar todas las dependencias que necesita para su proyecto. Por ejemplo, puede elegir el proyecto Maven, Java y Spring Boot versión 2.0.0. Los proyectos de Maven requieren un ID de grupo y un ID de artefacto, similar al paquete y la clase en Java.
También deberá elegir dependencias, por ejemplo, Web (para comenzar a desarrollar aplicaciones web), DevTools (facilita el desarrollo de aplicaciones), Actuator (para monitorear la aplicación) y Config Client (para conectar la aplicación a Spring Config). servidor). Una vez hayas seleccionado todas las opciones, generarás el proyecto. Para obtener más información, consulte Comenzar con Spring Initializer en el recurso Creación de un servicio web RESTful . Consulte Spring Data JPA para aprender cómo conectarse a la base de datos.

2. Asegurar la nomenclatura y el descubrimiento de servicios
Se requiere que todos los microservicios estén registrados para descubrir cuándo los está buscando otro servicio en la arquitectura. Por ejemplo, un servicio específico puede querer encontrar todas las instancias de otro servicio que se está ejecutando nuevamente en un entorno particular. En este tutorial de Spring Cloud , aprenderá que el servidor de nombres almacena la información sobre todos los servicios y sus instancias y proporciona la información a quienes la buscan. Por lo tanto, ayuda en el proceso de descubrimiento de servicios. Para obtener más información sobre el registro y descubrimiento de servicios, consulte Registro y descubrimiento de microservicios con Spring Cloud y Eureka de Netflix .

Leer: Proyectos y temas de Spring Boot
3. Invocar otros microservicios
Con Spring Cloud, es necesario realizar varias llamadas a otros componentes y servicios. Esto se logra mediante el uso de Fingir que elimina la complejidad del proceso al permitirle escribir clientes de servicios web más fácilmente. Para obtener más información, consulte Spring Cloud Open Fing .
4. Asegurar el equilibrio de carga
Según este tutorial de Spring Cloud, Feign también proporciona integración con Ribbon, un marco de equilibrio de carga del lado del cliente. Ribbon ayuda a usar la configuración de Fingir para distribuir llamadas y equilibrarlas entre todas las instancias de un servicio con el que otro servicio quiere conectarse. Consulte Equilibrio de carga del lado del cliente con Ribbon y Spring Cloud para obtener más información.
5. Administre la configuración de microservicios de forma centralizada mediante el servidor Spring Cloud Config
De acuerdo con este tutorial de Spring Cloud , una aplicación utiliza múltiples microservicios, múltiples entornos para estos microservicios y también, varias instancias de estos servicios que se ejecutan en los entornos. Spring Configuration Server proporciona una ubicación centralizada para almacenar la información de configuración relacionada con todas esas instancias de microservicios.
Como resultado, esta configuración está disponible en un solo lugar y cualquier servicio de la arquitectura debe utilizarla. Para administrar la configuración de forma centralizada, definirá las propiedades relacionadas con un nuevo servicio y luego conectará el servidor Spring Config asociado utilizando Git como repositorio de código. Para obtener más información, consulte la documentación Descripción general de la configuración de Spring . Para saber cómo conectar Spring Config con Git, consulte Spring Cloud Config .
Lea también: Salario de desarrollador de Spring en India
6. Establezca la seguridad con Spring Cloud
En una arquitectura de microservicios, donde cientos de microservicios trabajan juntos, es esencial contar con controles de autenticación y autorización. Además de la seguridad, existen consideraciones como métricas, límites, etc. Una puerta de enlace API permite implementar características que son comunes a todos los servicios.

Por ejemplo, Zuul Server es una aplicación API Gateway que maneja solicitudes y realiza enrutamiento dinámico de aplicaciones de microservicios. Consulte Spring Cloud Gateway para obtener más información en este tutorial de Spring Cloud .
7. Habilite la tolerancia a fallas
Una consideración importante al implementar microservicios es que si un componente deja de funcionar, toda la aplicación puede detenerse. El marco Hystrix ayuda a crear microservicios tolerantes a fallas con los que puede actualizar la funcionalidad con gracia cuando falla una llamada de método. Esto permite que un microservicio continúe funcionando cuando falla un servicio relacionado, lo que evita que la falla se reproduzca en cascada y le da tiempo al servicio fallido para recuperarse.
Echa un vistazo: Explicación del ciclo de vida de Spring Bean
Conclusión
Con suerte, este tutorial de Spring Cloud servirá como un punto de partida esencial para comenzar.
Si está interesado en obtener más información sobre Spring Cloud, consulte el Diploma PG de desarrollo de software completo de upGrad & IIIT-B, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos y asignaciones, IIIT -Estado de ex-alumno B, proyectos finales prácticos prácticos y asistencia laboral con las mejores empresas.