32
REACTIVE MICROSERVICES mit Vert.x 3 Jochen Mader codecentric AG @codepitbull

REACTIVE MICROSERVICES - doag.org · PDF filemit Vert.x 3 Jochen Mader codecentric AG @codepitbull? MICRO SERVICES

  • Upload
    vandang

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

REACTIVE MICROSERVICESmit Vert.x 3

Jochen Mader codecentric AG @codepitbull

?

MICRO SERVICES• klein

• eigene Datenhaltung

• unabhängige Entwicklung

• unabhängiges Deployment

• distributed by default … ?

Das Netzwerk ist zuverlässig

Die Latenzzeit ist gleich Null

Der Datendurchsatz ist unendlich

Das Netzwerk ist sicher

Die Netzwerktopologie wird sich nicht ändern

Es gibt immer nur einen Netzwerkadministrator

Datentransport ist „umsonst“

Das Netzwerk ist homogen

REACTIVEAntwortbereit

Elastisch Widerstandsfähig

Nachrichtenorientiert

Antwortbereit

Elastisch Widerstandsfähig

Nachrichtenorientiert

BROKER

Verticle

Handler

Handler

Handler

Handler

Storage

Bus

Verticle

Handler

Handler

Handler

Handler

Storage

CODE

Antwortbereit

Elastisch Widerstandsfähig

Nachrichtenorientiert

Verticle

Handler

Handler

Handler

Handler

Storage

Bus

Verticle

Handler

Handler

Handler

Handler

Storage

Verticle

Handler

Handler

Handler

Handler

Storage

Bus

Verticle

Handler

Handler

Handler

Handler

Storage

Verticle

Handler

Handler

Handler

Handler

Storage

Bus

Verticle

Handler

Handler

Handler

Handler

Storage

Verticle

Handler

Handler

Handler

Handler

Storage

Bus

Verticle

Handler

Handler

Handler

Handler

Storage

Apache ZooKeeper

CODE

Antwortbereit

Elastisch Widerstandsfähig

Nachrichtenorientiert

TIS BUT A SCRATCH

+ ELK

ROUND ROBIN / HA

ELASTIZITÄT

CODE

Antwortbereit

Elastisch Widerstandsfähig

Nachrichtenorientiert

MICRO SERVICES

FAT JARVerticle

VerticleVerticle

Verticle

io.vertx.core.Starter

lib.jar

lib.jar

lib.jar

lib.jar

mvn clean package

java -jar target/<appname>1.0-SNAPSHOT-fat.jar

CODE

MONOLITHS1

S2

S3

S1 S1

S2

S1

S2

S3

S1 S1

S2

S1

S2

S3

S1 S1

S2

vertx.deployVerticle("maven:com.mycompany:main-services:1.2::my-service", ...)

VerticleVerticle

VerticleVerticle

MAVEN SERVICES