Asynchrone Funktionen lösen nicht automatisch Performanceprobleme. Im WSGI-Modell von Flask müssen Workerbindung, Event Loop, blockierende Bibliotheken und die Art der I/O-Arbeit gemeinsam betrachtet werden.
Das Seminar ordnet Async Views, parallele I/O-Aufrufe, Streaming-Antworten und Echtzeitmuster technisch ein. Es zeigt außerdem, wann ein WSGI-zu-ASGI-Adapter genügt und wann ein async-first Ansatz die sauberere Entscheidung ist.
Inhaltsübersicht
- HTTP, WSGI und Flask-Lebenszyklus
- Async Views im WSGI-Modell
- Parallele I/O-Aufrufe und Zeitlimits
- Streaming-Antworten und große Datenmengen
- Echtzeitmuster und Integrationsgrenzen
- Entscheidung zwischen Flask, ASGI-Adapter und async-first Framework
- Lasttests und Kapazitätsgrenzen
- Praxisprojekt und Wissenssicherung
Lernziele
- Async Views im WSGI-Arbeitsmodell korrekt einordnen.
- Unabhängige I/O-Aufrufe mit Timeouts und Fehleraggregation parallelisieren.
- Streaming-Antworten speicher- und kontextbewusst umsetzen.
- Polling, Server-Sent Events und WebSockets sachlich vergleichen.
- Zwischen Flask, Adapterlösung und async-first Framework begründet entscheiden.
Zielgruppe
Erfahrene Flask- und Python-Entwickler, Architekten sowie Betriebsteams, die I/O-intensive oder echtzeitnahe Anwendungen planen und bewerten.
Voraussetzungen
Sichere Flask- und Python-Kenntnisse. Grundverständnis von async und await, HTTP sowie Produktionsbetrieb wird erwartet.
Seminarinhalte
1. HTTP, WSGI und Flask-Lebenszyklus
Das Zusammenspiel von Browser, Reverse Proxy, WSGI-Server und Anwendung wird technisch eingeordnet.
- Schritt 1: HTTP-Anfrage, Statuscode, Header und Nachrichtentext anhand einer vollständigen Transaktion zerlegen.
- Schritt 2: WSGI-Anwendung und Serverrolle unterscheiden und die Grenzen des integrierten Entwicklungsservers festhalten.
- Schritt 3: Anwendungs-, Request- und Response-Lebenszyklus mit Hooks und Kontextobjekten nachvollziehen.
- Schritt 4: Eine Anfrage vom Eingang bis zur Antwort protokollieren und Fehlerstellen den zuständigen Schichten zuordnen.
2. Async Views im WSGI-Modell
Asynchrone View-Funktionen werden nur dort eingesetzt, wo parallele I/O-Arbeit tatsächlich einen Vorteil bringt.
- Schritt 1: Sync- und Async-View hinsichtlich Workerbindung und Event-Loop-Verhalten vergleichen.
- Schritt 2: Async-Unterstützung installieren und erste await-fähige Route implementieren.
- Schritt 3: Blockierende Bibliotheksaufrufe in Async-Views identifizieren und vermeiden.
- Schritt 4: Laufzeit, Fehlverhalten und Workerbelegung mit reproduzierbaren Messungen prüfen.
3. Parallele I/O-Aufrufe und Zeitlimits
Mehrere unabhängige Netzwerk- oder Datenzugriffe werden kontrolliert parallelisiert und mit Grenzen versehen.
- Schritt 1: Unabhängige I/O-Aufgaben erkennen und gemeinsam starten.
- Schritt 2: Timeouts, Abbruch und Fehleraggregation für Teilaufrufe definieren.
- Schritt 3: Ergebnisse deterministisch zusammenführen und Teilausfälle fachlich behandeln.
- Schritt 4: Sequenzielle und parallele Variante unter identischer Last vergleichen.
4. Streaming-Antworten und große Datenmengen
Große oder fortlaufend erzeugte Inhalte werden speicherschonend übertragen, ohne Header- und Kontextregeln zu verletzen.
- Schritt 1: Generator für schrittweise Ausgabe erstellen und passenden Inhaltstyp setzen.
- Schritt 2: Alle Header vor Beginn des Nachrichtentextes festlegen.
- Schritt 3: Request-Kontext bei Bedarf mit geeigneter Kontextbindung erhalten.
- Schritt 4: Proxy-Pufferung, Clientabbruch und Fehler nach Streamingbeginn testen.
5. Echtzeitmuster und Integrationsgrenzen
Polling, Server-Sent Events, WebSockets und Nachrichtenbroker werden nach Anwendungsfall und Betriebsmodell bewertet.
- Schritt 1: Latenz-, Verbindungs- und Skalierungsanforderungen des Anwendungsfalls erfassen.
- Schritt 2: Polling beziehungsweise Streaming als einfachste tragfähige Lösung prototypisch umsetzen.
- Schritt 3: WebSocket- oder Socket-Erweiterungen nur bei echtem bidirektionalem Bedarf einplanen.
- Schritt 4: Verbindungsabbruch, Wiederaufnahme und horizontale Skalierung im Architekturentwurf berücksichtigen.
6. Entscheidung zwischen Flask, ASGI-Adapter und async-first Framework
Die technische Plattform wird anhand des tatsächlichen Parallelitäts- und Verbindungsmodells ausgewählt.
- Schritt 1: Anteil asynchroner Logik, Langläufer und dauerhafter Verbindungen quantifizieren.
- Schritt 2: Flask mit WSGI, Flask über Adapter und ein ASGI-natives Modell gegenüberstellen.
- Schritt 3: Erweiterungskompatibilität, Betriebskomplexität und Migrationsaufwand bewerten.
- Schritt 4: Entscheidung mit messbaren Kriterien und einer kleinen Lastprobe dokumentieren.
7. Lasttests und Kapazitätsgrenzen
Die Anwendung wird mit realistischen Szenarien bis zu klar erkennbaren Sättigungspunkten geprüft.
- Schritt 1: Nutzerpfade, Denkzeiten, Datenvariation und Anlaufphase modellieren.
- Schritt 2: Baseline, Ziel- und Stresstest mit identischer Telemetrie durchführen.
- Schritt 3: Fehlerquote, Perzentile, Ressourcen und Abhängigkeiten gemeinsam auswerten.
- Schritt 4: Kapazitätsannahmen, Sicherheitsreserve und nächste Optimierung dokumentieren.
Praxisprojekt
Eine synchrone Aggregationsroute wird gemessen, in eine kontrolliert asynchrone Variante überführt und um Streaming ergänzt. Anschließend wird ein Echtzeitbedarf prototypisch umgesetzt und unter Last bewertet.
Methodik
Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.
Fachbereichsleitung / Trainerteam / Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Erfahrene Flask- und Python-Entwickler, Architekten sowie Betriebsteams, die I/O-intensive oder echtzeitnahe Anwendungen planen und bewerten. |
| Voraussetzungen: | Sichere Flask- und Python-Kenntnisse. Grundverständnis von async und await, HTTP sowie Produktionsbetrieb wird erwartet. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
