Kapitel 9. Reaktiver Zugriff auf Daten

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In Kapitel 5 haben wir die Skalierbarkeits- und Robustheitsprobleme bei der Verwendung von blockierendem I/O für Anwendungen erläutert. In diesem Kapitel geht es um die Interaktion mit Datenbanken und darum, wie Quarkus sicherstellt, dass die Datenschichten eines Anwendungsstapels asynchron sein können und auch nicht blockierendes I/O nutzen.

Das Problem mit dem Datenzugang

Der Zugriff auf relationale Daten erforderte bisher blockierende E/A während der Kommunikation mit einer Datenbank. Wie bereits in Kapitel 5 besprochen, wollen wir blockierende E/A in unseren Anwendungen auf jeder Ebene des Stacks vermeiden. Die Interaktion mit einer Datenbank dauert je nach Anzahl der beteiligten Datensätze oft eine nicht unerhebliche Zeitspanne, so dass blockierende E/A beim Zugriff auf eine Datenbank noch größere Auswirkungen auf unsere Anwendung haben! Was meinen wir damit? Nehmen wir an, wir haben eine kleine Datenbankanwendung entwickelt; wir alle haben im Laufe der Jahre viele davon entwickelt. Wir bezeichnen sie oft als CRUD-Anwendungen, weil sie Operationen zum Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen in einer Datenbank anbieten.

Jeder exponierte Endpunkt in unserer API muss mit der Datenbank interagieren. Wir werden die Caches ignorieren und sehen, wie sie die Anzahl der Anfragen an die Datenbank ...

Get Reaktive Systeme in Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.