ZebraStream takes the sender's data and pass it on to the receiver. The role of a data relay is comparable to that of a file server or web storage, and it is needed when a peer-to-peer connection is not an option. Neither sender or receiver run in server mode, both connect as clients.
In a stream, data can be transferred while it is being produced, without knowing its final size. For instance, a GPS tracker may stream stream locations every 10 seconds open-ended. Typically, the head of the data arrives at the receiver instantly. Files of fixed size can also be transferred as streams.
We operate necessary infrastructure and charge users for using this service. We provide the account owner with possibilities to administer, create and control data streams that are attached to the account.
Data can only flow one way: from the sender (producer) to the receiver (consumer). To establish a two-way communication, you need to create a second stream with reversed roles.
Unlike other more complex software for data streaming, ZebraStream focuses on bringing data from point A to point B. A data stream can only have a single producer and a single consumer at a time. The typical use case with multiple producers or consumers is quite different, for instance parallel computations.
Sender and receiver must both connect at the same time to transfer data in a First-In-First-Out (FIFO) style. There is no temporary storage to hold the data until the receiver fetches it. All data arrives instantly at the receiver side, comparable to a direct peer-to-peer connection. If one of the peers is absent, or not processing the data, the other peer blocks and waits for progress. This kind of flow control synchronized producer and consumer.
While most data streaming software restricts the type and shape of data being transferred, ZebraStream does not. A stream can look exactly like a file being read from disk, or can be a series of micro-batches. It can be binary or text. And most important, it can be as large as you want.
ZebraStream uses the HTTP protocol that runs the web (including the strong transport encryption TLS, in combination also known as HTTPS). Although it was not intended for streaming data from the beginning, adapting it opens up the possibility for software to easily integrate with other data streaming applications. A stream address for the receiver looks and behaves nearly like a regular file download on the web. The most important consideration is, however, that ZebraStream can be embedded virtually anywhere.