I'd be interested to know if the service works across multiple regions though. Some of the biggest challenges we've faced when engineering our realtime platform has been in having no single point of congestion and effectively peer-to-peer routing within the cluster. This is not that important if all your servers can be in a single region, however if you want your users in Australia for example to have a similar latency profile to those in USA, then clients in Oz need to connect to servers in Oz and all routing for customers in Oz does not need to traverse continents for other customers in Oz, but does for customers in US. I'd be interested to know if that was tackled in the design. Michal you following this thread?
Matt Ably realtime - https://www.ably.io
(I work on same team with Michal)
[1] https://riot.im/
Isn't there a publicly hosted database of hn comments so someone could make stats on this topic? I'm sure you are close to 100% match.
Anyone else commenting about Matrix are doing so completely independently and without any input or knowledge from the actual dev team. For instance, I have absolutely no idea who sanqui is (although I share their concern that Riot Games moving into the messaging space is awkward).
We are categorically not spamming or sockpuppeting HN: I'm afraid that folks who bring Matrix up must be doing so because they're interested or enthusiastic about the project and consider it relevant (which unfortunately it is on this thread, albeit for the wrong reasons :|)
Yes. There's a few HN APIs/sources out there:
Yes. I, too, have heard of that other thing...
Original question: Can someone explain to me why the JSON message sent to the REST interface seems to contain URL and Type as data?
Is it because they are transmitted using web sockets but the concepts of "resource" (ie: clubs/v1/clubs/665632A9-EF44-41CB-BF03-01F2BA533FE7) and "method" (ie: GET) still just make sense and happens to be very similar to HTTP?
https://engineering.riotgames.com/news/chat-service-architec...
These solutions are the glue between stateless and stateful services. I guess they will become increasingly important as some services specialize towards responsiveness. The use websockets or http2 without giving up the simplification provided by restful architecture.
Question to OP: do you run your edge servers in pairs or some kind of cluster?
The edge servers are not clustered and share no state. We require at least 2 servers as minimum for fault tolerance.
I'm 100% aware that these changes are RMS/Riot specific and won't work in many other situations (e.g. they violate certain transaction isolation properties).