an evening with meetup microservices-s2
TRANSCRIPT
![Page 1: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/1.jpg)
An Evening with…
Arkho Innova Meetup Series
![Page 2: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/2.jpg)
Overview
• Resumen Meetup Anterior.
• Presentación problema para este Meetup.
• Workshop.
• Conclusiones
![Page 3: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/3.jpg)
Aplicación Monolítica tradicional
![Page 4: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/4.jpg)
Colección de Módulos
Colección de Servicios
Primer approach
![Page 5: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/5.jpg)
Primer approach
![Page 6: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/6.jpg)
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
![Page 7: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/7.jpg)
Acceso a datos de forma fragmentada
![Page 8: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/8.jpg)
Comunicación entre servicios
API GatewayDiscover µServices
![Page 9: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/9.jpg)
Ejemplo Práctico
![Page 10: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/10.jpg)
App Gran TiendaHands On!!
![Page 11: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/11.jpg)
Tools de desarrollo
Eureka
![Page 12: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/12.jpg)
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.
![Page 13: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/13.jpg)
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
![Page 14: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/14.jpg)
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
![Page 15: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/15.jpg)
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
![Page 16: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/16.jpg)
Acceso a datos de forma fragmentada
![Page 17: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/17.jpg)
Gran Tienda App
APIAPIAPI
DB connector
DBDBDB
DB connector
DB connector
clientes service inventario service categoria service
gt-clientes gt-productos gt-productos
![Page 18: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/18.jpg)
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
![Page 19: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/19.jpg)
A programar!
![Page 20: An Evening with Meetup microservices-s2](https://reader033.vdocument.in/reader033/viewer/2022051710/5a657f8b7f8b9a06748b4aef/html5/thumbnails/20.jpg)
Código fuente
Para el desarrollo del meetup revisamos el código que pueden obtener desde:
• https://github.com/harenas/meetup-ms2