Building a High-Performance Reactive Microservices Architecture
Reactive Microservices mit Vert.x 3
-
Upload
codepitbull -
Category
Software
-
view
1.446 -
download
4
Transcript of Reactive Microservices mit Vert.x 3
REACTIVE MICROSERVICESmit Vert.x 3
Jochen Mader codecentric AG @codepitbull
?
MICRO SERVICES• klein
• eigene Datenhaltung
• unabhängige Entwicklung
• unabhängiges Deployment
• distributed by default … ?
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
Object 1 Object 2
Object 1 Object 2Bus
Verticle
Handler
Handler
Handler
Handler
Storage
Bus
Verticle
Handler
Handler
Handler
Handler
Storage
BROKER
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
vertx.deployVerticle("maven:com.mycompany:main-services:1.2::my-service", ...)
VerticleVerticle
VerticleVerticle
MAVEN SERVICES
Antwortbereit
Elastisch Widerstandsfähig
Nachrichtenorientiert
HYSTRIX
CIRCUIT BREAKERCOMMANDS
EVENT STREAM
VERT.X
+ ELKREACTIVE STREAMS
ROUND ROBIN / HATIME OUT
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
MONOLITHS1
S2
S3
S1 S1
S2
S1
S2
S3
S1 S1
S2
S1
S2
S3
S1 S1
S2