Skip to content

HernanRivasAcosta/kafkerl

Repository files navigation

kafkerl v2.1.0

Apache Kafka 0.8.2 high performance producer/consumer for erlang. Developed thanks to the support and sponsorship of TigerText and Inaka.

Features (aka, why kafkerl?)

  • Fast binary creation.
  • Caching requests to build more optimally compressed multi message TCP packages.
  • Highly concurrent, using @jaynel concurrency tools.
  • Messages are not lost but cached before sending to kafka.
  • Handles server side errors and broker/leadership changes.
  • Flexible API allows consumer of messages to define pids, funs or M:F pairs as callbacks for the received messages.
  • Simple yet flexible consumer API to retrieve the messages from Kafka.

Missing features (aka, what I am working on but haven't finished yet)

  • There is no communication with Zookeeper.
  • Tests suites.

Special thanks to @nitzanharel who found some really nasty bugs and helped me understand the subtleties of kafka's design and to the rest of the TigerText and Inaka teams for their support and code reviews.