|
|
|
|
|
by SerCe
505 days ago
|
|
I wrote about the way we handle WebSocket connections at Canva a while ago [1]. Even though some small things have changed here and there since the post was published, the overall approach has held up pretty well handling many millions of concurrent connections. That said, even with great framework-level support, it's much, much harder to build a streaming functionality compared to plain request/response if you've got some notion of a "session". [1]: https://www.canva.dev/blog/engineering/enabling-real-time-co... |
|
This touches something that I think is starting to become understood- the concept of a "session backend" to address this kind of use case.
See the complexity of disaggregation a live session backend on AWS versus CloudFlare: https://digest.browsertech.com/archive/browsertech-digest-cl...
I wrote about session backends as distinct from durable execution: https://crabmusket.net/2024/durable-execution-versus-session...