Concepts
Learn how channels, segments, payloads, ordering, and reconnection fit together.
Celeris carries live updates between your backend, browsers, and other receiving services. Your application decides who may connect, what each update means, and where important data is stored.
Start with the message path
Publisher -> Celeris channel / segment -> permitted subscribers
A channel reference names a communication space. In the SDK, one channel handle owns one WebSocket connection. Segments are named streams carried over that connection. A segment is not a separate socket.
When you connect to a channel, you automatically join its default segment. No separate subscription is needed for that membership. Start with default for one stream, and add named segments when you need to separate topics or permissions. Receiving still requires a listener and read permission.
The payload is the update's content, encoded as bytes. Text, JSON, MessagePack, and Protobuf are all possible choices; Celeris does not automatically convert between them.
Follow the concepts
- Channels and Segments: choose where updates belong and understand membership.
- Binary Messaging: encode the content and choose a format.
- Message Ordering: understand received order and message IDs.
- Reconnection and Recovery: handle interruptions, replay, and reconciliation.
Example: an order dashboard
Your backend saves an order status to its database, then publishes an update to a segment the customer may read. The browser receives the update and refreshes its interface.
After an interruption, the browser fetches the order from your backend again. That database record remains authoritative even if a live message was missed or received twice.
Ready to build? Follow the Quickstart.