Retour au classement

fluvio-community/fluvio

Rustfluvio.io

🦀 event stream processing for developers to collect and transform data in motion to power responsive data intensive applications.

cloud-nativestreamingrustreal-timeserverlessstatefulstream-processingwebassemblydata-integrationdata-flowdistributed-systemsevent-driven-architecture
Croissance des étoiles
Étoiles
5.2k
Forks
532
Croissance hebdomadaire
Issues
128
2k4k
sept. 2019déc. 2021avr. 2024juil. 2026
Artefactscrates.iocargo add fluvio
README

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.

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

Step 1. Download Fluvio Version Manager:

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

Step 2. Start a cluster:

Start cluster on you local machine with the following command:

fluvio cluster start

Step 3. Create Topic:

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

fluvio topic create hello-fluvio

Step 4. 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
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.

Using Pre-Built Fluvio Versions

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

Check Fluvio Core Documentation

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

Check Stateful DataFlow Documentation

Stateful DataFlow designed to handle complex data processing workflows, allowing for customization and scalability through various programming languages and system primitives.

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 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.

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

Clients

Language Specifc API docs:

Community Maintained:

Contributing

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

Community

Many fluvio users and developers have made projects to share with the community. Here a a few listed below:

Projects Using Fluvio

Community Connectors

Community Development Resources

More projects and utilities are available in the Fluvio Community Github Org

Contributors are awesome

Made with contrib.rocks.

Community

Many fluvio users and developers have made projects to share with the community. Here a a few listed below:

Projects Using Fluvio

License

This project is licensed under the Apache license.

Dépôts similaires
ClickHouse/ClickHouse

ClickHouse® is a real-time analytics database management system

C++Apache License 2.0dbmsolap
clickhouse.com
48.8k8.7k
milvus-io/milvus

Milvus is a high-performance, cloud-native vector database built for scalable vector ANN search

GoGo ModulesApache License 2.0annsnearest-neighbor-search
milvus.io
45.3k4.1k
Kong/kong

🦍 The API and AI Gateway

LuaApache License 2.0api-gatewaymicroservices
konghq.com/install/
43.8k5.2k
pingcap/tidb

TiDB is built for agentic workloads that grow unpredictably, with ACID guarantees and native support for transactions, analytics, and vector search. No data silos. No noisy neighbors. No infrastructure ceiling.

GoGo ModulesApache License 2.0distributed-databasedistributed-transactions
tidb.io
40.3k6.2k
zeromicro/go-zero

A cloud-native Go microservices framework with cli tool for productivity.

GoGo ModulesMIT Licensegolangmicroservice
go-zero.dev
33.2k4.3k
rustfs/rustfs

🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.

Rustcrates.ioApache License 2.0bigdatacloud-native
rustfs.com/download/
30.1k1.3k
alibaba/spring-cloud-alibaba

Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.

JavaMavenApache License 2.0spring-cloudjava
sca.aliyun.com
29.1k8.5k
goharbor/harbor

An open source trusted cloud native registry project that stores, signs, and scans content.

GoGo ModulesApache License 2.0cncfcontainer
goharbor.io
29k5.3k
go-kratos/kratos

Your ultimate Go microservices framework for the cloud-native era.

GoGo ModulesMIT Licensegolangframework
go-kratos.dev
25.8k4.2k
taosdata/TDengine

High-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios

CGNU Affero General Public License v3.0iotbigdata
tdengine.com
25k5k
lensapp/lens

Lens - The way the world runs Kubernetes

MIT Licensekuberneteskubernetes-ui
lenshq.io
23.2k1.5k
alibaba/Sentinel

A powerful flow control component enabling reliability, resilience and monitoring for microservices. (面向云原生微服务的高可用流控防护组件)

JavaMavenApache License 2.0alibabajava
sentinelguard.io
23.1k8.1k