Try to use Apache Kafka clients in idiomatic Clojure.
Kafka has Java/Scala clients API, and programmers have no problem calling them directly in Clojure, so we do not need to "wrap" Java API.
However, from a Clojure programmer's perspective, direct call Kafka Java API does not feel very good:
Hence, Waterfall is an attempt at a minimalist library with additional optional batteries.
producer
and consumer
.producer
, and consumer
is just the implementation of the Manifold stream.robertluo.waterfall.shape
namespace. Underlying, give Kafka API byte array SERDES.Because all functions have their schemas incorporated, you can get the best development experience if dependency metosin/malli
is in your classpath.
Put (malli.dev/start!)
in your user.clj
will enable clj-kondo to use the schemas when editing.
| namespace | Description | | -- | -- | | robertluo.waterfall | main API | | robertluo.waterfall.shape | optional Clojure data shape transformation |
| Filename | Description |
| -- | -- |
| deps.edn | Clojure tools.deps configuration |
| tests.edn | kaocha test runner configuration |
| build.clj | Clojure tools.build building script |
| notebook | Clerk notebooks to demostrate usage, use clojure -M:dev:notebook
to use them |
2022, Robertluo
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close