/clj-alpakka-kafka

Clojure wrapper over Alpakka Kafka

Primary LanguageClojureMIT LicenseMIT

fr33m0nk/clj-alpakka-kafka

clj-alpakka-kafka is a simple library that wraps over Alpakka Kafka and offers convenience methods for easy implementation in Clojure code. For further documentation, do refer Alpakka Kafka official docs.

Clojars Project

Usage

Functions are divided in following namespaces:

Add the following to your project dependencies:

  • CLI/deps.edn dependency information
net.clojars.fr33m0nk/clj-alpakka-kafka {:mvn/version "0.1.8"}
  • Leningen/Boot
[net.clojars.fr33m0nk/clj-alpakka-kafka "0.1.8"]
  • Maven
<dependency>
  <groupId>net.clojars.fr33m0nk</groupId>
  <artifactId>clj-alpakka-kafka</artifactId>
  <version>0.1.8</version>
</dependency>
  • Gradle
implementation("net.clojars.fr33m0nk:clj-alpakka-kafka:0.1.8")

Additional dependencies:

org.apache.kafka/kafka-clients {:mvn/version "3.6.1"} 
  • SLF4J implentation based logger
    • Needed for Akka logging
com.taoensso/timbre {:mvn/version "6.1.0"}
com.fzakaria/slf4j-timbre {:mvn/version "0.3.21"}
  1. Using Alpakka Kafka stream with a sink
  2. Using Alpakka Kafka stream with a Kafka Producer
  3. Using Alpakka Kafka stream and producing multiple records per consumer record
  4. Using Alpakka Kafka stream with At-Least-Once Delivery
  5. Using Alpakka Kafka stream with Error handling
  6. Using Alpakka Kafka stream with Transactional Source and Sink

License

Copyright © 2023 Prashant Sinha

Distributed under the MIT License.