#kafka #ring-buffer #queue #pub-sub

bin+lib franz

a simple, friendly, and blazingly fast alternative to Apache Kafka

14 releases (6 breaking)

new 0.7.5 Oct 29, 2024
0.7.4 Oct 29, 2024
0.6.2 Oct 18, 2024
0.5.2 Oct 15, 2024
0.1.0 Jun 26, 2024

#251 in HTTP server

Download history 8/week @ 2024-09-11 219/week @ 2024-09-18 394/week @ 2024-09-25 292/week @ 2024-10-02 91/week @ 2024-10-09 293/week @ 2024-10-16 223/week @ 2024-10-23

908 downloads per month

MIT license

17KB
345 lines

Franz

A simple and friendlier persistent message-queue / pub-sub built for speed (blazingly fast)!

The goal of Franz is to be able to handle millions of messages per second with a light memory footprint (it is however, rough on the disk).

Usage

franz --path /path/to/store/data

see franz --help for more details.

Protocol

[message length : u32]([key]=[value] : utf8)

mandatory keys

  • version
  • topic
  • api

example key-values

version=1,topic=test_topic_name,api=produce

Example

spin up a franz instance

franz --path /tmp/franz-test

in another terminal connect to the instance with netcat

echo -ne "\x00\x00\x00\x20version=1,topic=test,api=produce" | nc localhost 8085

send some (newline delimited) messages

hello
world
msg3

Dependencies

~7–16MB
~200K SLoC