4 ms·
It is not immediately obvious to me what fanout.io does from your homepage. Could you add an example? Clients register to listen with the fanout.io CDN, then m
by conorgil145 13y ago
It is not immediately obvious to me what fanout.io does from your homepage. Could you add an example?
Clients register to listen with the fanout.io CDN, then my app pushes something to the CDN, and fanout.io handles pushing it to all of my end clients?
Can I determine which subset of users receive the message, or is it "all or nothing"? Are clients able to listen on a specific topic/name?
I'd love to get more info, but I didn't see any higher level explanation and don't have time to dive into docs right now.
- jkarneges 13y agoYes, Fanout works as a publish-subscribe service. Clients listen on channels (topics), and you publish messages to channels which Fanout then delivers to the right clients. In the case of HTTP streaming, Fanout acts like a reverse proxy in front of your web server. Incoming requests are relayed to your server, and you can control Fanout's behavior depending on how you reply. For example, you can reply with a "hold" instruction saying to bind the incoming request to streaming channel C. The transaction between Fanout and your server is now complete, while the connection between the client and Fanout remains open. You can then send messages to this client by publishing on channel C. The process is explained in more detail on this post about our open source reference implementation: http://blog.fanout.io/2013/04/09/an-http-reverse-proxy-for-realtime/ http://blog.fanout.io/2013/04/09/an-http-reverse-proxy-for-r... Implementing something like SSE is just a matter of responding with a stream subscribe with initial response of Content-Type: text/event-stream, and then publishing event chunks using SSE formatting.