JavaLand 2022: Big Trouble with Reactive Java
Die Versprechungen der reaktiven Softwareentwicklung sind beindruckend und vielfältig. Unsere Anwendungen werden Non-Blocking und sind immer responsiv, also ansprechbar. Sie brechen nicht unter hoher Arbeitslast zusammen. Sie sind elastisch und verbrauchen nur die wirklich nötigen Systemressourcen. Sie sind resilient und können gut mit Fehlerfällen und Lastspitzen umgehen. Sie sind nachrichtenorientiert, reagieren auf Ereignisse und wir haben deswegen wenige oder gar keine wartenden Threads in unserer JVM. Viele unserer Träume werden endlich wahr — das goldene Zeitalter der Softwareentwicklung bahnt sich seinen Lauf!
Wirklich? Viele von uns arbeiten schon seit Jahren mit reaktiven Frameworks wie Vert.x, Spring-Webflux (Reactor), Akka und vielen anderen.
Sind die Vorhersagen wirklich alle eingetreten? Wie sieht es in der Praxis aus? Es gibt weitere Aspekte, die ein gutes Framework und ein Programmierparadigma auszeichnen. Wie hoch ist die Lernschwelle? Was ist mit Wart- und Testbarkeit?
Mit mehreren Jahren Erfahrung, die ich in Projekten mit Vert.x, Webflux und anderen Frameworks sammeln konnte, möchte ich in meinem Vortrag eine Bilanz ziehen. Wo liegen die Stärken von Reactive Java und wo ist noch Raum für Verbesserungen?