Django ist für alles!

Django ist für alles!

Ab Django Version 3 können Sie die Unterstützung für async core nutzen.

Seit vielen Jahren ist WSGI (Web Server Gateway Interface) eine einfache und universelle Schnittstelle zwischen Python-Anwendungen und Webservern. Vom Design her sind WSGI-Server synchron. Der Server blockiert jede einzelne Anfrage, bis eine E/A-Operation abgeschlossen ist. Daher kann die Lösung des C10k-Problems eine Herausforderung sein!

Django ist ein sehr leistungsstarkes Werkzeug, um Systeme jeder Art innerhalb eines sehr kurzen Zeitrahmens zu erstellen. Leider verursacht seine synchrone Natur Einschränkungen bei der Verwendung einiger moderner Web-Technologien wie WebSockets oder HTTP/2-Funktionen.

Hier kommt uns ASGI (Asynchronous Standard Gateway Interface) zu Hilfe. Tatsächlich ist ASGI eine Obermenge von WSGI und in der Lage, WSGI Callables aufzurufen. ASGI bietet Unterstützung für Websockets und langlebige HTTP-Verbindungen. Es kann auch für HTTP-Long-Polling oder HTTP-Server-gesendete Ereignisse verwendet werden, die unidirektionale Server-Client-Updates ermöglichen.

Um Django so zu erweitern, dass es WebSockets verwenden kann, wurden Channels 2 erstellt. Dabei handelt es sich um eine neue Schicht, die die Verwendung von WebSockets und Hintergrundaufgaben ermöglicht. Dennoch ist sie nicht Teil des Django-Kerns, sie erfordert einige zusätzliche Installations- und Konfigurationsaufgaben, bevor Sie sie verwenden können. Aus diesem Grund löst die sofort einsatzbereite integrierte Unterstützung für asynchrone Funktionen das Problem der Websocket-Integration.

Die Umstellung auf Async kann einige Zeit in Anspruch nehmen. Es wird berichtet, dass die aktuelle Version (3.0) sowohl ASGI als auch einige asynchrone Sicherheitsfunktionen nativ unterstützt. Da es sich um eine große Aufgabe handelt, erfordert sie die Neuimplementierung vieler Komponenten wie ORM, Request-Handler, Template-Renderer usw., um im asynchronen Modus arbeiten zu können, welcher voraussichtlich in den nächsten Versionen verfügbar sein wird. Sobald dieser verfügbar ist, werden wir ein noch leistungsfähigeres und robusteres Web-Framework in der asynchronen Welt haben, um weiterhin den vollen Nutzen von schnellen und soliden Systemen jeder Art liefern zu können.

IHR TERMIN MIT UNS

Rufen Sie uns an +49 (6283) 3031157 um einen Termin zu vereinbaren.