An Evening with Meetup microservices-s2

Preview:

Citation preview

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

Recommended