Functional backpressured streams for consuming and producing Kafka records. Exposes a small interface, while taking care of common functionality: batch consuming and producing records, batched offset commits, offset commit recovery, and topic administration, while also simplifying client configuration.
Documentation is kept up-to-date, currently documenting v2.2.0 on Scala 2.13.
To get started with sbt, simply add the following line to your
libraryDependencies += "com.github.fd4s" %% "fs2-kafka" % "2.2.0"
Published for Scala 2.12, 2.13 and 3.0. For changes, refer to the release notes.
For Scala 2.12, enable partial unification by adding the following line to
scalacOptions += "-Ypartial-unification"
resolvers += "confluent" at "https://packages.confluent.io/maven/" libraryDependencies += "com.github.fd4s" %% "fs2-kafka-vulcan" % "2.2.0"
Stable release artifacts are signed with the
E97C 64AB 4987 7F74 key.
Backwards binary-compatibility for the library is guaranteed between minor and patch versions.
2.a.b is backwards binary-compatible with
2.c.d for any
a > c or
a = c and
b > d.
Please note binary-compatibility is not guaranteed between milestone releases.
To use the latest snapshot release, add the following lines to your
resolvers += Resolver.sonatypeRepo("snapshots") libraryDependencies += "com.github.fd4s" %% "fs2-kafka" % "2.2.0"
Refer to the table below for dependencies and version support across modules.
|FS2 3.1.0, Apache Kafka Client 2.8.0||Scala 2.12, 2.13 and 3.0|
|Vulcan 1.7.1, Confluent Kafka Avro Serializer 6.2.0||Scala 2.12, 2.13 and 3.0|
Library is heavily inspired by ideas from Alpakka Kafka.