11 releases

0.1.11 Jan 23, 2024
0.1.10 Dec 20, 2023
0.1.9 Jun 28, 2022
0.1.7 May 8, 2022
0.1.1 Mar 27, 2022

#81 in Concurrency

Download history 5/week @ 2023-11-02 2/week @ 2023-11-09 3/week @ 2023-11-16 28/week @ 2023-11-23 29/week @ 2023-11-30 2/week @ 2023-12-07 34/week @ 2023-12-14 28/week @ 2023-12-21 11/week @ 2023-12-28 5/week @ 2024-01-04 1/week @ 2024-01-11 46/week @ 2024-01-18 24/week @ 2024-01-25 23/week @ 2024-02-01 25/week @ 2024-02-08 191/week @ 2024-02-15

268 downloads per month
Used in callysto-avro

Apache-2.0

165KB
4K SLoC

Callysto is stream processing framework for Rust with focus on performance and durability.

NOTE: Callysto is used in production environment of multiple companies and it is production ready. This readme will be updated with more information about usage of Callysto.

Requirements

  • cmake
  • clang
  • libtool
  • libstdc++-devel

Rust MSRV

We are using:

cargo 1.60.0 (d1fd9fe 2022-03-01)

Running

With Docker Compose - Nerdctl Compose

  1. You need to have docker installation locally. With containerd backend, if you want to bring single node Kafka replacement use:
nerdctl compose up

If you want to bring Confluent Kafka single node. You can:

nerdctl compose -f docker-compose.kafkasn.yml

If you want to bring full blown Confluent Kafka cluster. Use:

nerdctl compose -f docker-compose.kafkacluster.yml

Mind that nerdctl command is interchangeable with docker.

With K8S

  1. You need to have K8S installation locally.
cd k8s && kubectl apply -f . && kubectl port-forward svc/redpanda 9092:9092
  1. Now you can run the producers in Python.
virtualenv venv
source venv/bin/activate
which pip3 # check that it is pointing to venv
pip3 install aiokafka -U
python examples/producer.py
  1. Now you can spawn the double agent example (without durability).
RUST_LOG="info,rdkafka::client=warn" RUST_BACKTRACE=full cargo run --example double-agent

Environment variables passed above is optional, but suggested for development.

Dependencies

~24–45MB
~750K SLoC