Projekt Loom und Virtuelle Threads - Das Ende von Reactive Programming?
Details
Moderne und leistungsstarke Software muss sich irgendwann mit der Verarbeitung von Lastspitzen und einer großen Menge an Ereignissen und Daten auseinandersetzen. Aus 100 eingehenden Anfragen pro Minute können plötzlich Tausende oder mehr werden. Hardware mit angemessener Größe kann mit hoher Last umgehen, wenn sie verfügbar ist. Gute Software kann aber auch so geschrieben werden, dass sie die verfügbaren Ressourcen wie Speicher, Netzwerk, Threads usw. intelligent ausnutzt, ohne dass zwangläufig über die Hardware skaliert werden muss. Die JVM ließ hier in den letzten Jahren einiges zu wünschen übrig. Insbesondere wenn es darum ging, eine begrenzte Anzahl von Threads effektiv einzusetzen. Wenn es darum ging, Nebenläufigkeit zu implementieren, war es oft nötig, auf reaktive Frameworks wie WebFlux, RxJava oder auf Kotlin Coroutinen zurückzugreifen. Sie haben eine Lücke geschlossen, die lange Zeit mit JVM Bordmitteln schlecht zu schließen war. Diese Frameworks kommen jedoch mit einer gewissen Lernschwelle. Es dauert einige Zeit, sie wirklich zu beherrschen. Aber Project Loom, das mit Java 21 eingeführt wurde, bietet virtuelle Threads als nativen Java-Bestandteil, um dieses Problem zu lösen. Ich werde anhand von Code-Beispielen zeigen, wie sich virtuelle Threads im Vergleich zu Spring WebFlux und Kotlin Coroutinen schlagen. Nach dem Vortrag wird es reichlich Gelegenheit geben, sich auszutauschen und noch gemeinsam das eine oder andere Getränk zu sich zu nehmen.
Referent:
Jan Weinschenker arbeitet als Entwickler, Berater und Architekt bei der Holisticon AG in Hamburg. Seit mehr als 15 Jahren beschäftigt er sich mit der Entwicklung performanter Java Anwendungen und er ist ein großer Fan von Reactive Programming.
