satellite is a global messaging service that's tuned to publish small messages to a large number of subscribers. It allows message broadcasting to browsers and mobile devices based on the Server Sent Events (SSE) / EventSource protocol.
Broadcasting messages to browsers and devices using topics is incredibly useful, but equally hard to do. satellite is perfect for applications which need to send soft-realtime updates to many of their users, like scoreboards, live tickers, social media, and any application that handles streams of information visible to multiple users.
satellite lets you create a realm for each application, and publish at will to topics in that realm. Topics do not need to be created before they are used - they are created on demand when you attempt to use them. For example:
https://sat.rw7.io/abcd1234
topic1
, do a POST
to https://sat.rw7.io/abcd1234/topic1
with the message in the body.new EventSource("https://sat.rw7.io/abcd1234/topic1")
object in a browser to subscribe.For Example:
1000 people X 60 minutes = 60,000 minutes
60,000 minutes X USD $1 / 1,000,000 minutes = USD $0.06
100 publishes X USD $1 / 100,000 publishes = USD $0.001
100 messages X 1000 users = 100,000 deliveries
100,000 deliveries X USD $1 / 1,000,000 deliveries = USD $0.10
In order to achieve high scalability at low costs, satellite sacrifices a certain amount of speed by design. This isn't to say that delivery is slow - messages can reach millions of subscribers within a few seconds. But sub-second delivery simply isn't a goal at all. signs focuses more on distributing widely than it does on distributing quickly. If your use case is 1 to 1 messaging, or 1 to few, signs may not be your best bet. The optimal use case is at 1 to many publishing.