En este libro encontrarás una visión básica y aplicada sobre el desarrollo de aplicaciones web basadas en microservicios.
Se incluye un ejemplo práctico
completo, disponible en la nube, que el lector podrá ir construyendo desde cero a medida que va avanzando en su dominio de este tipo de aplicaciones.
Es, sin duda, una obra eminentemente práctica con explicaciones teóricas allá donde se ha estimado necesario.
AUTORES.
AGRADECIMIENTOS.
CAPÍTULO 1. INTRODUCCIÓN
1.1 A QUIÉN VA DESTINADO ESTE LIBRO
1.2 ESTRUCTURA DE ESTE LIBRO
1.3 INFORMACIÓN ADICIONAL Y GARANTÍA
CAPÍTULO 2. MICROSERVICIOS. CONCEPTOS BÁSICOS.
2.1 ARQUITECTURAS MONOLÍTICAS.
2.2 ESCALADO DE APLICACIONES
2.3 MICROSERVICIOS
2.4 COMUNICACIÓN ENTRE MICROSERVICIOS.
2.4.1 Comunicación cliente-microservicios.
2.4.2 Descubrimiento de microservicios
2.4.3 Comunicación entre microservicios.
2.5 ARQUITECTURA DE MICROSERVICIOS
2.5.1 Modelo de referencia
2.5.2 Modelo de implementación
2.5.3 Modelo de despliegue
2.6 REFACTORIZACIÓN DE UNA APLICACIÓN MONOLÍTICA A MICROSERVICIOS
CAPÍTULO 3. HERRAMIENTAS DE DESARROLLO
3.1 ECLIPSE.
3.2 GRADLE
3.2.1 Nociones básicas de Gradle
3.2.2 Usando Gradle desde Eclipse.
3.3 SPRING BOOT.
3.3.1 Incorporando en plugin de Spring Boot a nuestro proyecto Gra
3.4 RESUMEN DE INSTALACIÓN Y USO DEL ENTORNO
CAPÍTULO 4. DESARROLLO DE MI PRIMER MICROSERVICIO
4.1 API RESTFUL CON SPRING BOOT.
4.2 REGISTRO DE MICROSERVICIOS CON EUREKA.
4.2.1 Creación del servidor Eureka
4.2.2 Registro de un microservicio
4.2.3 Resumen del registro de microservicios
4.3 CONSUMO DE UN MICROSERVICIO.
4.4 CONFIGURACIÓN AVANZADA DE EUREKA
4.5 CONFIGURACIÓN EN LA NUBE
4.5.1 Configuración de los clientes del servidor de configuración.
4.5.2 Interacción con el servidor de configuraciones
4.5.3 Seguridad
CAPÍTULO 5. BALANCEO DE CARGA, TOLERANCIA A FALLOS, Y REDIRECCIONAMINTOS .
5.1 RIBBON
5.1.1 El balanceador y la lógica de zonas.
5.1.2 Reglas de balanceo .
5.2 HYTRIX
5.2.1 Netflix Hystrix Dashboard y Turbine.
5.3 ZUUL
CAPÍTULO 6. OAUTH2
6.1 CONCEPTOS BÁSICOS DE OAUTH2.
6.2 OAUTH2 EN UNA ARQUITECTURA DE MICROSERVICIOS
6.2.1 Creación del Servidor UAA con Spring .
6.2.2 Configurando microservicios como recursos
6.2.3 Conexión entre microservicios.
6.2.4 Preparando Zuul para propagar solicitudes OAuth.
CAPÍTULO 7. ACCESO A DATOS EN MICROSERVICIOS. ASPECTOS DE DISEÑO
7.1 ARQUITECTURAS BASADAS EN EVENTOS .
7.2 PATRÓN SAGA.
7.2.1 Transacción Saga con coreografía
7.2.2 Transacción Saga con orquestación.
7.3 CONSULTAS SOBRE DATOS RELACIONADOS
7.3.1 API Facade Composition
7.3.2 Command Query Responsibility Segregation (CQRS)
CAPÍTULO 8. TESTING DE MICROSERVICIOS.
8.1 LA PIRÁMIDE DE COHN.
8.2 NIVELES DE PRUEBAS
8.2.1 Pruebas unitarias.
8.2.2 Pruebas de integración
8.2.3 Pruebas de la API.
8.2.4 Pruebas de componentes
8.2.5 Pruebas E2E (End-To-End)
8.3 IMPLEMENTACIÓN DE LAS PRUEBAS.
8.3.1 Pruebas unitarias.
8.3.2 Pruebas de integración
8.3.3 Pruebas E2E.
CAPÍTULO 9. DESPLIEGUE DE MICROSERVICIOS
9.1 CONCEPTOS BÁSICOS DE DOCKER.
9.1.1 Repositorios Docker.
9.1.2 Imágenes
9.1.3 Contenedores
9.1.4 Volúmenes.
9.1.5 Docker Compose
9.2 PREPARACIÓN DEL ENTORNO.
9.3 DOCKERIZACIÓN DE MICROSERVICIOS.
9.3.1 Preparación de la estructura de directorios y ficheros
9.3.2 Dependencias entre contenedores.
9.3.3 Creación de la imagen base
9.3.4 Creación de la imagen y contenedor para el servidor de configuración
9.3.5 Generación de ficheros jar de microservicios y Eureka.
9.3.6 Creación de la imagen y contenedor para el servidor Eureka
9.3.7 Ficheros de configuración del GitHub
9.3.8 Creación de la imagen y contenedores para los microservicios
9.3.9 Definición del Docker Compose.
ÍNDICE ALFABÉTICO.