reactive-python / reactpy-django

It's React, but in Python. Now with Django integration.
https://reactive-python.github.io/reactpy-django/
MIT License
322 stars 18 forks source link

Use one websocket per client #231

Open Archmonger opened 6 months ago

Archmonger commented 6 months ago

Current Situation

The initial handshake of a websocket connection can cause additional latency. It's sometimes more performant to utilize only one websocket connection per client.

Proposed Actions

Refactor consumer.py and our client code to utilize a single websocket per client. Probably will need a SharedReactPyConsumer class

This will likely require changing our websocket's URL routing schema.

We might want to make this option configurable via REACTPY_SHARED_WEBSOCKET, since the old behavior has the potential to be more performant when using multiple ASGI workers.