an evening with meetup microservices-s2
TRANSCRIPT
An Evening with…
Arkho Innova Meetup Series
Overview
• Resumen Meetup Anterior.
• Presentación problema para este Meetup.
• Workshop.
• Conclusiones
Aplicación Monolítica tradicional
Colección de Módulos
Colección de Servicios
Primer approach
Primer approach
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 DURSDeployment, Update, Replace, Scale
Smart Endpoint & Dumb Pipes Cada servicio es acotado y se
comunica con otros por medio de HTTP
Acceso a datos de forma fragmentada
Comunicación entre servicios
API GatewayDiscover µServices
Ejemplo Práctico
App Gran TiendaHands On!!
Tools de desarrollo
Eureka
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.
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
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
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
Acceso a datos de forma fragmentada
Gran Tienda App
APIAPIAPI
DB connector
DBDBDB
DB connector
DB connector
clientes service inventario service categoria service
gt-clientes gt-productos gt-productos
Gran Tienda App
APIAPIAPI
DB connector
DBDBDB
DB connector
DB connector
clientes service inventario service categoria service
gt-clientes gt-productos gt-productos
API
productos service
A programar!
Código fuente
Para el desarrollo del meetup revisamos el código que pueden obtener desde:
• https://github.com/harenas/meetup-ms2