README.md
Fluvio is a lean and mean distributed data streaming engine written in Rust. Combined with Stateful DataFlow distributed stream processing framework, Fluvio provides a unified composable distributed streaming and stream processing paradigm for developers.
Fluvio is installed via the Fluvio Version Manager, shortened to fvm.
To install fvm, run the following command:
TEMPORARY NOTE: While we are transitioning to a new fluvio-community hosted fluvio build and release, you should install the dev version of FVM:
curl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | FVM_VERSION=dev bash
After we get the fluvio-community based released sorted again, it will return to:
curl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | bash
As part of the initial setup, fvm will also install the Fluvio CLI available in the stable channel as of the moment of installation.
Fluvio is stored in $HOME/.fluvio, with the executable binaries stored in $HOME/.fluvio/bin.
For the best compatibliity on Windows, InfinyOn recommends WSL2
Start cluster on you local machine with the following command:
fluvio cluster start
The following command will create a topic called hello-fluvio:
fluvio topic create hello-fluvio
Produce data to your topic. Run the command first and then type some messages:
fluvio produce hello-fluvio
> hello fluvio
Ok!
> test message
Ok!
Consume data from the topic, Run the following command in a different terminal:
fluvio consume hello-fluvio -B -d
Just like that! You have a local cluster running.
You may want to use other Fluvio versions than the latest stable release. You can do so by specifying the version using environment variables.
Install Latest Dev Version
To install the latest development build of fvm and fluvio:
curl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | FVM_VERSION=dev bash
Install Specific Fluvio Version
curl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | FLUVIO_VERSION=x.y.z bash
Install Specific FVM Version
curl -fsS https://raw.githubusercontent.com/fluvio-community/fluvio/master/install.sh | FVM_VERSION=v0.18.1 bash
Fluvio documentation will provide additional context on how to use the Fluvio clusters, CLI, clients, a development kits.
Stateful DataFlow designed to handle complex data processing workflows, allowing for customization and scalability through various programming languages and system primitives.
Fluvio can connect to practically any system that you can think of.
Out of the box Fluvio has native http, webhook, mqtt, kafka inbound connectors. In terms of outbound connectors out of the box Fluvio supports http, SQL, kafka, and experimental builds of DuckDB, Redis, S3, Graphite etc.
Using Connector Development Kit, its intuitive to build connectors to any system fast.
Check out the docs and let us know if you need help building any connector.
Fluvio applies wasm based stream processing and data transformations. We call these reusable transformation functions smart modules. Reusable Smart modules are built using Smart Module Development Kit and can be distributed using InfinyOn Cloud hub.
Language Specifc API docs:
Community Maintained:
If you'd like to contribute to the project, please read our Contributing guide.
Many fluvio users and developers have made projects to share with the community. Here a a few listed below:
More projects and utilities are available in the Fluvio Community Github Org
Made with contrib.rocks.
Many fluvio users and developers have made projects to share with the community. Here a a few listed below:
This project is licensed under the Apache license.