13 Comments
User's avatar
Sai teja's avatar

WebSockets actually operate at the Application layer, not the Transport layer, according to the OSI model. This is a common misconception because WebSockets provide a way to establish a persistent, full-duplex communication channel over a single TCP connection, which operates at the Transport layer

Neo Kim's avatar

I see, thanks for pointing it out.

Konstantin Borimechkov's avatar

Amazing blog post! Having heard of RSocket before and this gave an amazing overview of this protocol!

Fran Soto's avatar

Great to see the practical application when discovering a new technology.

Thanks for bringing visibility to real-world case studies, Neo!

Neo Kim's avatar

happy to read your feedback, Fran. Thanks

Hemant Pandey's avatar

Does Figma use a similar architecture ?

Neo Kim's avatar

good question, Hemant.

Does Figma use RSocket? I don't know, so I'll have to find out.

I see that they're using CRDT.

Toan Tran's avatar

yeah, Figma is using CRDT

Anton Zaides's avatar

Thanks for the mention Neo! Interesting as always!

Neo Kim's avatar

you're welcome, Anton. Thank you

cch's avatar

Does Canva use RxJava on their backend?

Neo Kim's avatar

They use https://github.com/rsocket/rsocket-java

You could find extra details on their engineering blog linked in the references.