Reaktive Programmierung

Reaktive Programmierung und SQL: R2DBC 0.8 veröffentlicht

Vor fast zwei Jahren begannen die ersten Arbeiten an der R2DBC-Spezifikation (Reactive Relational Database Connectivity) mit der Idee, SQL-Datenbanken mit reaktiver Programmierung zugänglich zu machen. Nach mehreren Meilensteinen wurde nun die erste Version der Spezifikation nebst einer Reihe von Implementierungen veröffentlicht. Grund genug, sich die Geschichte von R2DBC und den aktuellen Stand der Spezifikation einmal genauer anzuschauen.

Die Jagd nach Performance: Ist Reactive Programming der richtige Weg?

Reactive Programming verspricht eine höhere Performance von Enterprise-Java-Anwendungen bei geringerem Speicherbedarf. Erreicht wird dieses Versprechen, indem blockierende Aufrufe vermieden werden. Blockierende Aufrufe führen im Betriebssystem immer zu Prozess- und damit zu Kontextwechseln. Solche Kontextwechsel haben einen hohen CPU- und Speicher-Overhead. Dieser Overhead wird durch weniger Kontextwechsel reduziert. Erkauft wird dieser Performancegewinn von Reactive Programming allerdings durch schlechtere Wartbarkeit der Software. Ist die höhere Performance aber diesen Preis wert, und was sind die Alternativen? Dieses Thema wollen wir uns einmal genauer anschauen.