an evening with meetup microservices-s2

20
An Evening with… Arkho Innova Meetup Series

Upload: arkhotech

Post on 22-Jan-2018

106 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: An Evening with Meetup microservices-s2

An Evening with…

Arkho Innova Meetup Series

Page 2: An Evening with Meetup microservices-s2

Overview

• Resumen Meetup Anterior.

• Presentación problema para este Meetup.

• Workshop.

• Conclusiones

Page 3: An Evening with Meetup microservices-s2

Aplicación Monolítica tradicional

Page 4: An Evening with Meetup microservices-s2

Colección de Módulos

Colección de Servicios

Primer approach

Page 5: An Evening with Meetup microservices-s2

Primer approach

Page 6: An Evening with Meetup microservices-s2

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

Acceso a datos de forma fragmentada

Page 8: An Evening with Meetup microservices-s2

Comunicación entre servicios

API GatewayDiscover µServices

Page 9: An Evening with Meetup microservices-s2

Ejemplo Práctico

Page 10: An Evening with Meetup microservices-s2

App Gran TiendaHands On!!

Page 11: An Evening with Meetup microservices-s2

Tools de desarrollo

Eureka

Page 12: An Evening with Meetup microservices-s2

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

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

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

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

Acceso a datos de forma fragmentada

Page 17: An Evening with Meetup microservices-s2

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

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

A programar!

Page 20: An Evening with Meetup microservices-s2

Código fuente

Para el desarrollo del meetup revisamos el código que pueden obtener desde:

• https://github.com/harenas/meetup-ms2