Choria Streams is a managed instance of NATS JetStream embedded in Choria Broker.
Streams provide persistence for messages published on the NATS network, once messages are persisted to disk they can later be consumed by one or multiple consumers. These consumers can process the data, do calculations, analyze, train ML models or any similar actions in any of the 40+ language that support NATS.
Messages are stored in a WAL on disk and various message expiration models are supported.
We are in the process of developing our use of this technology, so some features are still embryonic and being developed.
Today we support:
Planned:
The data stored in the streams can be accessed using programming libraries, today the NATS project support Go, Java, JavaScript with .Net and C being in progress. Ruby and Python to follow soon.
While the above list is what we have in mind medium term for Choria and JetStream, the Choria Broker is a fully fledged JetStream instance and anything mentioned in the NATS documentation is possible with Choria Streams.