Re: RSocket Followup (post TOC meeting)


Ben Christensen
 

> How much interoperability testing have you done?
 
We use rsocket-cpp, rsocket-js, and rsocket-java together. C++ as both client and server. JS as a client against C++ and Java, and recently starting to be a server (but that's less tested). Java as client against C++, and as server for JS. 
 
We use TCP, WebSocket, and a single HTTP/2 stream on a shared connection in different places as the transport.
 
- For server-to-server we primarily use TCP. 
- For browser-to-server we use WebSocket. 
- For mobile-to-server we use a single H2 stream for RSocket on a potentially hared H2 connection. 
- For mobile-to-server we are evaluating mapping RSocket streams onto HTTP/2 streams, while being multitenant with other protocols on the same HTTP/2 connection. 
- Both approaches with HTTP/2 do not work with standard HTTP/2 APIs and only work because we expose internals of the protocol in our implementation. The mapping to H2 streams and being multi-tenant also requires custom extensions to H2 so isn't viable broadly (unless we evolve H2). And the H2 mapping does not work in browsers, so we use WebSockets there. 
 

Join cncf-toc@lists.cncf.io to automatically receive all group messages.