No doubt that security wise this brings benefits, and that a L4 LB can be used if we need to load balance several nodes.
We are heavy users of Twisted ourselves, but we lake experience here. We have always been assuming that using Twisted to terminate TLS will have a major impact on server performance, but we never seriously tried.
PING/PONG mechanism :
We found in your RFC
on how PING & PONG messages might be encoded over RawSocket transport.
It looks to us though that this is not currently implemented by autobahn
RawSocket transport implementation.
Is this correct ?
Yes, correct: https://github.com/crossbario/autobahn-python/issues/453
Crossing intermediaries :
Our question was not clear, what we meant was if RawSocket would let you
reach crossbar proxied by a WebServer like nginx.
Our understanding of the wire protocol is that this is not possible as
the handshake does not include an HTTP upgrade
In our opinion optionally allowing the transport to start with an
Upgrade request ( eg asking to upgrade to wamp-over-foobar…) brings
several benefits :
No, that is reinventing WebSocket. HTTP handshake processing is exactly
one area where RawSocket is much simpler.
- Simplify deployment as port 443 is the unique entry path in the system
You can do that with RawSocket as well.
- Allow to use the webserver for TLS offloading and load balancing.
You can load-balance both WebSocket and RawSocket using load-balancers
working a layer 4 (TCP).
Offloading TLS: to what? Why?
As far as we now understand the crossbar clean codebase, we are not
bound to use WebSocket or RawSocket but we can implement a Transport
with the features we need.
Technically, you can of course. But:
Crossbar.io does not have supported extension APIs for internal modules.
you are inventing sth uneeded and proprietory (and in any case, you
have to comply to the AGPL, the OSS license of Crossbar.io)
In summary, I’d recommend:
Go with RawSocket as defined, run that over 443/TLS, use a L4 LB and let
Crossbar.io terminate the TLS.
On Thursday, October 29, 2015 at 1:46:04 PM UTC+2, Alexander Gödde wrote:
First of all: WAMP over RawSocket differs from WAMP over WebSocket
in the transport layer used, so all differences are down to that.
Now to your specific questions:
1. RawSocket as specified provides for a pin/pong mechanism (see
discussion of this feature
<[https://github.com/wamp-proto/wamp-proto/issues/63](https://github.com/wamp-proto/wamp-proto/issues/63)>) and the spec
defines message types for this.
2. RawSocket can be used with TLS, so crossing intermediaries should
not be a problem. It is not related to HTTP though, so there is no
WebSocket-like start as HTTP.
Am Dienstag, 27. Oktober 2015 11:05:20 UTC+1 schrieb AmvTek:
we find your crossbar router quite attractive for some projects
we are currently working on.
We try to better understand WampRawSocketProtocol with the view
of porting it to Android/IOS modifying an internal library
(appconnect) we have been using accross different projects.
Our questions :
1. Does WampRawSocketProtocol provides some sort of HEARTBEAT
mechanism to allow server & client to detect stalled
connections. We found this to be highly needed when connecting
through mobile networks.
2. Does WampRawSocketProtocol allow you to cross webserver in
the same way websocket allow you through HTTP upgrade.
We know that websocket buys you 1. & 2. but we will prefer to do
without to keep dependencies at a minimum.
Is there somewhere a WAMP test suite we could leverage to test
our own implementation attend.
You received this message because you are subscribed to the Google
Groups “Crossbar” group.
To unsubscribe from this group and stop receiving emails from it, send
an email to crossbario+...@googlegroups.com
To post to this group, send email to cros...@googlegroups.com
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.