0% encontró este documento útil (0 votos)
61 vistas8 páginas

Microservicios en Java con Spring Boot

Este documento describe un taller para desarrollar microservicios con Spring Cloud. El taller cubrirá principios de arquitectura de microservicios, patrones como descomposición de dominio y comunicación, y herramientas como Spring Boot, Eureka, Config Server y Docker. Los participantes implementarán una arquitectura de microservicios con estos componentes y patrones, aprendiendo a distribuir, empaquetar y observar aplicaciones.

Cargado por

manu.jhc
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
61 vistas8 páginas

Microservicios en Java con Spring Boot

Este documento describe un taller para desarrollar microservicios con Spring Cloud. El taller cubrirá principios de arquitectura de microservicios, patrones como descomposición de dominio y comunicación, y herramientas como Spring Boot, Eureka, Config Server y Docker. Los participantes implementarán una arquitectura de microservicios con estos componentes y patrones, aprendiendo a distribuir, empaquetar y observar aplicaciones.

Cargado por

manu.jhc
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CJAVA

Desarrollo de
Microservicioss
Microservicio
con Spring Cloud

#CJavaNoPara #CJavaInternacional
CJAVA

(Java, Spring Boot, Spring Cloud, Docker y kubernetes, Design Patterns, CI/CD)

Desarrollo de Microservicios

Fundamentación: Unidad de Com- Requisitos:


Desarrollar aplica- petencia: Fundamentos de ar-
ciones distribuida Comprender e im- quitectura de aplica-
para nube requiere plementar solucio- ciones web o arqui-
reconocer y desarro- nes de software en tectura hexagonal.
llar una arquitectura nube usando arqui- Conocimientos
de microservicios, tectura de compo- de programación
implementando los nentes distribuida. orientada a obje-
principales patrones tos, funcional, y
que existen, usando Metodología: modular en Java.
Java, Spring Boot, Sesiones prácticas Conocimientos de
Spring Cloud y Doc- bajo marco teórico. base de datos rela-
ker a través de un Ejercicio de de- cionales y NOSQL.
caso práctico que sarrollo prácticos Conocimientos
será desarrollado modelamiento de de servicios REST
de manera progre- arquitectura bajo con Spring Boot.
siva en cada sesión. patrones conocidos.

Objetivos:
Desarrollar los conocimientos para implementar arquitectura de microservicios a nivel
empresarial usando Java y Spring Framework.
Implementar patrones de microservicios para soluciones distribuidas.
Reconocer la resiliencia de Microservicios.

#CJavaNoPara #CJavaInternacional
CJAVA

LO QUE APRENDERÁS:
• Principios y elementos para construir una arqui
tectura de microservicios.
• Patrones para la arquitectura de microservicios.
• Comunicaciones en una arquitectura de microser
vicios.
• Registro y descubrimiento para monitorear servi
cios a través de un Discovery Server.
• Implementar API Gateway para administrar el
tráfico de solicitudes.
• Separar la configuración del código de la aplica
ción con un Config Server.
• Balanceo de carga de las solicitudes.
• Implementar diferentes bases de datos relaciona
les y NoSQL por cada servicio.
• Patrones para Tolerancia a fallos.
• Contenerizar y gestionar aplicaciones.
• Concepto y aplicaciones de trazabilidad.
• Centralización de LOGs
• Comunicación asíncrona de microservicios usan
do Kafka (Patrón Saga).

HERRAMIENTAS QUE VAS A USAR:


• JDK 11 y 17.
• Spring / IDE IntelliJ con licencia / VSCode.
• Maven / Gradle.
• Spring: Spring Boot, Spring Cloud, Eureka Server,
Config Server, Spring Gateway, Spring Data
JPA, Spring Security, Spring Cloud Sleuth, Spring
Boot Admin, RestTemplate, Open Feign.
• Swagger, Resillence4j, Lombok, JWT, Oauth2
• MySql, PostgreSql, H2,Mongo DB Cassandra
• Open Zipkin (trazabilidad distribuida)
• Docker (Dockerfile, Docker compose) – Local y Re
moto
• Despliegue de microservicios en contendores AWS
• Git y Gitlab/Github
• Postman

#CJavaNoPara #CJavaInternacional
CJAVA

Esta es la arquitectura del Taller de Microservicio:

#CJavaNoPara #CJavaInternacional
CJAVA

COMPONENTES DE LA ARQUITECTURA PROPUESTA


DISCOVERY SERVER: Permite registrar, balancear y descubrir los servi-
cios.

EDGE SERVER: Genera una de entrada única para todas las APIs. La puer-
ta de enlace permite implementar seguridad y balanceo.

CONFIG SERVER: Externaliza o centraliza toda la configuración de la apli-


cación, incluidas las credenciales de la base de datos y la ubicación de la
red.

DISTRIBUTED TRACING SERVER: Permite implementar la centralización


de las trazas de las solicitudes a los microservicios para poder hacer segui-
miento.

CENTRAL MONITORING: Recopila estadísticas sobre operaciones indi-


viduales. Métricas agregadas en el servicio de métricas centralizadas, que
proporciona informes y alertas.

BALANCEO DE CARGA: Distribución eficiente del tráfico de red a múlti-


ples instancias del servicio.

RESILENCE4J: Componente que permite implementar el patrón Circuit


Breaker para la tolerancia a Fallos.

DOCKERIZACIÓN: Empaquetar y distribuir un servicio fácil y rápidamente


manteniendo completa independencia.

#CJavaNoPara #CJavaInternacional
CJAVA


PATRONES DE
MICROSERVICIO
A IMPLEMENTAR
EN EL TALLER

Patrones de descomposición: Descom-


posición por Capacidad de Nego-
cio, Descomposición por Subdominio.

Patrones de comunicación: Mensajeria, Invocación por Procedimiento Remo-


to, API Gateway, Backend para Frontend, Cliente de Descubrimiento, Servi-
dor de Descubrimiento, Circuit Breaker, Bulkhead, Reintentos.

Patrones de consistencia de datos: Saga, Dominio por Eventos, Agregación,


Recursos por Eventos.

Patrones para consultar datos: Base de Datos por Servicio, API Composition,
CQRS.

Patrones de despliegue: Simple Servicio por Host, Multiple Servicio por Host,
Servicio-por-contenedor, Servicio-por-VM.

Patrones de observabilidad: Agregación de Log, Métricas de Aplicación,


Auditoria de Logs, Trazabilidad distribuida, API Health check.
Patrones de preocupaciones transversales (Cross-Cutting): Chassis, Configura-
ción externalizadas.

Patrones de seguridad: Token de Acceso: JWT.

#CJavaNoPara #CJavaInternacional
CJAVA

INSTRUCTOR

Arquitecto de Soluciones Cloud sobre AWS.

Java Senior Developer en importantes empresas privadas y públicas.

Consultor de Sistemas en Soluciones de Integración con el estado.

Instructor Senior de Certificación Java Oracle.

Evaluador y Auditor de Proyectos FONDECYT.

Evaluador de Proyectos de Investigación Universidad Autónoma.

Integrante de Concejo Consultivo de Instituciones Educativas Privadas.

Java Evangelist desde el año 2010.

Director de La Comunidad de CJava.

#CJavaNoPara #CJavaInternacional
CJAVA

[Link] @[Link] @[Link].1


#CJavaNoPara #CJavaInternacional

También podría gustarte