Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Schnell reagiert! Reaktive Systeme auf der Java...

Schnell reagiert! Reaktive Systeme auf der Java-Plattform mit Vert.x und Reactor

Martin Lehmann, Rüdiger Grammes: „Schnell reagiert! Reaktive Systeme auf der Java-Plattform mit Vert.x und Reactor“.
Frankfurter Entwicklertag 2015, 24. Februar 2015

https://entwicklertag.de/frankfurt/2015/schnell-reagiert-reaktive-systeme-auf-der-java-plattform-mit-vertx-und-reactor

Martin Lehmann

February 24, 2015
Tweet

More Decks by Martin Lehmann

Other Decks in Programming

Transcript

  1. 1 Schnell reagiert! Reaktive Systeme auf der Java-Plattform mit Vert.x

    und Reactor Martin Lehmann, Dr. Rüdiger Grammes – Frankfurter Entwicklertag 2015
  2. 2 Copyright © Accso GmbH Reaktive Systeme Vert.x und Demo

    Reactor und Demo Fazit und Ausblick Reaktive Systeme
  3. 3 Copyright © Accso GmbH Was sind die Anforderungen? Anforderungen

    an Performance: Geringe Antwortzeiten, minimale Latenz, hoher Durchsatz Anforderungen an Skalierbarkeit: steigende Nutzerzahlen, Multi-Core Anforderungen an Verfügbarkeit: 24x7, Failover, hohe Fehlertoleranz Forderungen des Reactive Manifesto: Responsive, Resilient, Elastic, Message-Driven
  4. 4 Copyright © Accso GmbH Anforderung: Beherrschbarkeit der Komplexität Nebenläufigkeitsprogrammierung

    mit Low-Level-APIs viel zu komplex. Disruptor Reactor Pattern Aktoren- Modell
  5. 5 Copyright © Accso GmbH Reaktive Systeme Vert.x und Demo

    Reactor und Demo Fazit und Ausblick Vert.x und Demo http://vertx.io/
  6. 6 Copyright © Accso GmbH Vert.x im Überblick JVM 2.1.5

    (und 3) modular Laufzeit- Umgebung nicht- blockierend Message- Bus polyglott Open- Source nebenläufig single-threaded Laufzeitmodell Programmiermodell
  7. 7 Copyright © Accso GmbH Die Baustein-Architektur von Vert.x Vert.x

    Cluster Vert.x Laufzeitumgebung Vert.x Laufzeitumgebung Vert.x Modul Event-Bus Verticle Verticle Verticle A Verticle Verticle Verticle Verticle B Verticle Verticle A Verticle Verticle Verticle C Shared Data Shared Data Event Loop Threads Event Loop Threads Browser Java- script SockJS Clustering (Hazelcast) Clustering (Hazelcast)
  8. 9 Copyright © Accso GmbH Die Laufzeit-Architektur von Vert.x Vert.x

    Laufzeitumgebung Event Loop Thread 1 Event Loop Thread 1 Event Loop Thread 2 Event Loop Thread 2 Event Loop Thread 3 Event Loop Thread 3 Event Loop Thread 4 Event Loop Thread 4 Zeit Verticle A Verticle B Verticle A Verticle C Verticle D Verticle E Verticle F Verticle F Verticle G Verticle H
  9. 12 Copyright © Accso GmbH Reaktive Systeme Vert.x und Demo

    Reactor und Demo Fazit und Ausblick Reactor und Demo https://github.com/reactor/reactor
  10. 13 Copyright © Accso GmbH Das Reactor Framework im Überblick

    “Reactor is a foundational library building for reactive fast data applications on the JVM.” Basisframework für reaktive Anwendungen Keine Laufzeitumgebung Optimiert auf Performanz und Durchsatz Beeinflusst durch: Reactor Pattern, Java 8 Streams
  11. 14 Copyright © Accso GmbH Der Kern von Reactor ist

    ein asynchroner Event-Bus Reactor Nimmt Events von Produzenten entgegen Heisst Event-Bus ab Version 2 Dispatcher Scheduling und Routing von Events Nutzt Thread-Pool, Ringbuffer, je nach Konfiguration Selector Bestimmt die Adressaten eines Events Adressierung über Strings, Objekttyp, Regulären Ausdruck, … Consumer Verarbeitet Events
  12. 15 Copyright © Accso GmbH Mit Reactive Streams aus der

    Callback-Hölle http://www.reactive-streams.org/ Subscriber Publisher subscribe onSubscribe onNext onError onComplete Subscription request(n) cancel RxJava Ratpack
  13. 17 Copyright © Accso GmbH Reaktive Systeme Vert.x und Demo

    Reactor und Demo Fazit und Ausblick Fazit und Ausblick
  14. 18 Copyright © Accso GmbH Zum Nachlesen JavaSPEKTRUM 5/2014 Dr.

    Rüdiger Grammes, Martin Lehmann, Dr. Kristine Schaal Gut verknotet - Vert.x im Einsatz für hochskalierbare Architekturen PDF: http://goo.gl/j4zyb0 Dr. Rüdiger Grammes, Martin Lehmann, Dr. Kristine Schaal Reaktive Anwendungen mit dem Reactor-Framework http://heise.de/-2405139
  15. 19 Begeisterung für die anspruchsvollen Aufgaben unserer Kunden Accso –

    Accelerated Solutions GmbH www.accso.de twitter.com/accso Berliner Allee 58 64295 Darmstadt Telefon: +49 (6151) 13029-0 Fax: +49 (6151) 13029-10 Moltkestraße 131 a 50674 Köln Telefon: +49 (221) 630691-0 Fax: +49 (221) 630691-10 Theatinerstraße 11 80333 München Telefon: +49 (89) 71042-2040 Fax: + 49 (89) 71042-2001