En la primera sesión de Microservicios vimos el origen de esta arquitectura, conceptos básicos, y discutimos sobre sus beneficios y diferencias con arquitecturas tradicionales y otras con algunos rasgos similares. Finalmente revisamos un pequeño ejemplo de funcionamiento con Eureka.
Ahora, en esta segunda sesión se analizará un proyecto de ejemplo utilizando diferentes devops que nos permitirán no sólo la implementación sino además ejemplos reales de escalimiento. Será una sesión donde nos pondremos el overol y nos ensuciaremos las manos. Es tiempo de programar!
6. Principales características de los Microservicios
Domain Driving Design (DDD)
Descomposición Funcional
Single Responsibility Principle
Cada servicio es responsable de
una función acotada
Explicitly Published Interface
Cada servicio debe proveer una
API para su consumo
Independent DURS
Deployment, Update, Replace, Scale
Smart Endpoint & Dumb Pipes
Cada servicio es acotado y se
comunica con otros por medio de HTTP
12. Gran Tienda App
• Clientes
Existen clientes BASICOS y PREMIUM. Los clientes BASICOS son clientes de fácil acceso a la tarjeta
MasterPlop Gold. Los clientes PREMIUM por su parte son clientes con ingresos ($$) altos y que gozan de
ofertas especiales constantemente a los productos más caros de la tienda. El cliente PREMIUM tiene tarjeta
MasterPlop Black.
Se requiere
• Información de los clientes según su RUT.
13. Gran Tienda App
• Productos de inventario
Se requiere visualizar la información de productos existentes en el catálogo de la tienda en modo inventario,
es decir, además de los detalles básicos de un producto se requiere ver su stock y los precios manejados tanto
para clientes BASICOS como PREMIUM.
Se requiere:
• Listado completo de productos de la tienda
• Listado x Categoría
• Detalle de un productos en particular
14. Gran Tienda App
• Categorías de productos
Los productos están agrupados por Categorías. Una de las formas de acceder a un producto en particular para
los usuarios del Portal Web es navegando desde la Home Page hacia cada categoría existente.
Se requiere:
• Listado completo de categorías
15. Gran Tienda App
• Productos (detalle para el público)
SeLa información de cada producto debe ser mostrada a los usuarios del Portal de la Gran Tienda
dependiendo del tipo de cliente que sea, es decir, BASICO o PREMIUM. El stock del producto es información
util para el cliente. Por ninguna razón se debe mostrar ambos precios.
Se requiere:
• Listado completo de productos de la tienda
• Listado x Categoría
• Detalle de un productos en particular