Serving Python (Flask) REST API über HTTP2

Ich habe einen Python-REST-Dienst und möchte ihn über HTTP2 bereitstellen. Mein aktuelles Server-Setup istnginx -> Gunicorn. Mit anderen Worten, nginx (Port 443 und 80, die auf Port 443 umleiten) wird als Reverse-Proxy ausgeführt und leitet Anforderungen an Gunicorn weiter (Port 8000, kein SSL). nginx wird im HTTP2-Modus ausgeführt und ich kann dies überprüfen, indem ich Chrome verwende und die Spalte 'protocol' überprüfe, nachdem ich ein einfaches GET an den Server gesendet habe. Gunicorn meldet jedoch, dass die empfangenen Anforderungen HTTP1.0 sind. Außerdem konnte ich es in dieser Liste nicht finden:https: //github.com/http2/http2-spec/wiki/Implementation Also, meine Fragen sind:

Ist es möglich, eine Python (Flask) -Anwendung mit HTTP2 zu bedienen? Wenn ja, welche Server unterstützen das?In meinem Fall (ein Reverse-Proxy-Server und einer, der die eigentliche API bedient), welcher Server muss HTTP2 unterstützen?

Der Grund, warum ich HTTP2 verwenden möchte, ist, dass ich in einigen Fällen Tausende von Anforderungen zusammen ausführen muss und mich interessierte, ob die Multiplex-Anforderungsfunktion von HTTP2 die Dinge beschleunigen kann. Bei HTTP1.0- und Python-Anforderungen als Client dauert jede Anforderung ~ 80 ms, was nicht akzeptabel ist. Die andere Lösung wäre, einfach meine REST-Ressourcen zu sammeln / stapeln und mehrere mit einer einzigen Anfrage zu senden. Ja, diese Idee hört sich gut an, aber ich bin wirklich gespannt, ob HTTP2 die Dinge beschleunigen könnte.

Abschließend sollte ich erwähnen, dass ich für die Clientseite Python Requests mit dem Hyper-http2-Adapter verwende.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage