Skip to content
/ fluvio Public
forked from infinyon/fluvio

An intelligent event streaming platform

License

Notifications You must be signed in to change notification settings

xxchan/fluvio

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fluvio is a lightweight high-performance distributed data streaming system written in Rust and Web Assembly.

Quick Start - Get started with Fluvio in 2 minutes or less!

Step 1. Download Fluvio Version Manager:

On your terminal run

curl -fsS https://hub.infinyon.cloud/install/install.sh | bash

Fluvio version manager will give you the ability to download different versions of Fluvio:

  • Including our read only edge cluster with built in compression, caching, and mirroring to never lose data even with extended downtimes.
  • Or our Developer Preview of Stateful Streaming which we are building using the web assembly component model to support all web assembly compatible languages.

Step 2. Add the install directory to path:

Copy paste the last line of the installer log that looks like this on MacOS:

echo 'export PATH="${HOME}/.fvm/bin:${HOME}/.fluvio/bin:${PATH}"' >> ~/.zshrc

It will look different on Linux -

echo 'export PATH="${HOME}/.fvm/bin:${HOME}/.fluvio/bin:${PATH}"' >> ~/.bashrc

Step 3. Start local cluster:

The following command will start a local cluster by default:

fluvio cluster start

Step 4. Create Topic:

The following command will create a topic called hello-fluvio:

fluvio topic create hello-fluvio

Step 5. Produce to Topic, Consume From Topic:

Produce data to your topic. Run the command first and then type some messages:

fluvio produce hello-fluvio
> hello fluvio
> test message

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.

Next Steps

Now that you have a cluster running you can try building data flows in different paradigms.

Check Fluvio Core Documentation

Fluvio documentation will provide additional context on how to use the Fluvio clusters, CLI, clients, a development kits.

Learn how to build custom connectors

Fluvio can connect to practically any system that you can think of.

  • For first party systems, fluvio clients can integrate with the edge system or application to source data.
  • For third party systems fluvio connectors connect at the protocol level and collects data into fluvio topics.

Out of the box Fluvio has native http, webhook, mqtt, kafka inbound connectors. In terms of outbound connectors out of the box Fluvio supports SQL, DuckDB, Graphite, experimental builds of Redis, S3 etc.

Using Connector Development Kit, we built our existing connectors in a matter of few days. Check out the docs and let us know if you need help building any connector.

Learn how to build custom smart modules

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 distrubited using InfinyOn Cloud hub.

There are some limitations on the amount of polyglot development interface support. While bindings can be generated for wasm compatible languages, there are quirks in that approach. We have a better solution with Stateful Service Development Kit, which we are implementing using the web assembly component model. In the upcoming releases we will be able to natively support all wasm compatible programming languages.

Try workflows on InfinyOn Cloud

InfinyOn Cloud is Fluvio on the cloud as a managed service. All new users get $3000 worth credits to build data flows on InfinyOn Cloud.

Clients

Language Specifc API docs:

Community Maintained:

Contributing

If you'd like to contribute to the project, please read our Contributing guide.

Contributors are awesome

Made with contrib.rocks.

License

This project is licensed under the Apache license.

About

An intelligent event streaming platform

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 94.1%
  • Shell 5.0%
  • Other 0.9%