STREAMING DATA :
Ni pierdas el tren, ni esperes en balde
Codemotion Madrid
Galder Zamarreño Arrizabalaga
@galderz
24 noviembre 2017
Slide 2
Slide 2 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
2
Desde 2006
INGENIERO
@galderz
Desarrollador y
responsable de la comunidad
COFUNDADOR DE
INFINISPAN (2009)
ME GUSTA
EL QUESO PUES!
Slide 3
Slide 3 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
EL PROBLEMA
3
Datos, datos, datos,
datos y mas datos...
Demanda de análisis en
tiempo real
Arquitecturas de
streaming de datos
Slide 4
Slide 4 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
4
ARQUITECTURA DE STREAMING DE DATOS
Slide 5
Slide 5 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
5
ARQUITECTURA DE STREAMING DE DATOS
Slide 6
Slide 6 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
6
ZZZ... NO!
Slide 7
Slide 7 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
7
Platform-as-a-Service (PaaS)
Plataforma para el desarrollo y ejecución de
aplicaciones
Publica o privada y multi lenguaje
Es una distribución de Kubernetes con extras
LA PLATAFORMA
Slide 8
Slide 8 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
8
ES
Slide 9
Slide 9 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
9
¡Más Madera!
Aprovisiona y gestiona las instancias donde
ejecutaremos OpenShift y demás componentes
CONTEXTO GENERAL
Una plataforma exclusiva para la nube para el
desarrollo y ejecución de aplicaciones
CONTEXTO DEMO
LA NUBE
Slide 10
Slide 10 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
10
Vert.x es una librería para crear aplicaciones reactivas
Diseñada para la JVM, funciona a través de eventos y no
bloquea
RxJava se integra con Vert.x
Una buena herramienta para transformar eventos y
coordinarlos
Ideal cuando hay multiples fuentes de eventos (apps
modernas!)
EL PEGAMENTO
Slide 11
Slide 11 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
11
DATA GRID
Slide 12
Slide 12 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
12
Cada nodo mantiene una porción de datos
Algoritmos de hash consistente
para decidir quien guarda cada elemento
N copias de cada elemento
CÓMO SE DISTRIBUYEN LOS DATOS?
Slide 13
Slide 13 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
13
ARQUITECTURA DE STREAMING DE DATOS
Slide 14
Slide 14 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
14
LOS DATOS
http://transport.opendata.ch
Slide 15
Slide 15 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
15
ARQUITECTURA
Data Grid
Replication
Delay Calculator
Server Task
Delay Calculator
Server Task
Delay Calculator
Server Task
Analytics
Verticle
Injector
Verticle
Analytics
Jupyter
Laptop
HTTP
Continuous Query
Verticle
Http App
Verticle
Data Grid
Replication
Sock JS Bridge
Real Time Laptop
Http
Websockets
JavaFX
Injector
Verticle
Slide 16
Slide 16 text
DEMO
Slide 17
Slide 17 text
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)
VERSATILIDAD DE INFINISPAN
17
Cache Distribuida Memoria Compartida Broker Eventos Analitica
Slide 18
Slide 18 text
GRACIAS!
25 noviembre 15:30-17:30 Streaming Data Workshop
github.com/infinispan-demos/streaming-data-kubernetes
infinispan.org
redhat.com/en/technologies/jboss-middleware/data-grid