Systems don't come alone. In the modern world of microservices and cloud deployment, new components must interact with legacy systems, making integration an important key to success. Reactive Streams give us a technology-independent tool to let these heterogeneous systems communicate without overwhelming each other.
The Apache Pekko Connectors project is an open source initiative to implement stream-aware, reactive, integration pipelines for Java and Scala. It is built on top of Apache Pekko Streams, and has been designed from the ground up to understand streaming natively and provide a DSL for reactive and stream-oriented programming, with built-in support for backpressure. Pekko Streams is a Reactive Streams and JDK 9+ java.util.concurrent.Flow-compliant implementation and therefore fully interoperable with other implementations.
This repository contains the sources for the Apache Pekko Kafka Connector. Which lets you connect Apache Kafka to Pekko Streams.
Pekko connectors to other technologies are listed in the Pekko connectors repository.
The Apache Pekko Kafka Connector is a fork of Alpakka Kafka 3.0.1, prior to the Akka project's adoption of the Business Source License.
See https://pekko.apache.org for the documentation including the API docs. The docs for all the Apache Pekko modules can be found there.
build.sbt in this directory)sbt compile compiles the main source for project default version of Scala (2.13)sbt +compile will compile for all supported versions of Scalasbt test will compile the code and run the unit testssbt testQuick similar to test but when repeated in shell mode will only run failing testssbt package will build the jarscore/target/scala-2.13/sbt publishLocal will push the jars to your local Apache Ivy repositorysbt publishM2 will push the jars to your local Apache Maven repositorysbt docs/paradox will build the docs (the ones describing the module features)sbt docs/paradoxBrowse does the same but will open the docs in your browser when completeindex.html file will appear in target/paradox/site/main/sbt unidoc will build the Javadocs for all the modules and load them to one place (may require Graphviz, see Prerequisites above)index.html file will appear in target/scala-2.13/unidoc/sbt sourceDistGenerate will generate source release to target/dist/sbt "set ThisBuild / version := \"1.0.0\"; sourceDistGenerate"version.sbt to the same directory that has the build.sbt containing something likeThisBuild / version := "1.0.0"You can join these forums and chats to discuss and ask Pekko and Pekko connector related questions:
Contributions are very welcome. If you have an idea on how to improve Pekko, don't hesitate to create an issue or submit a pull request.
See CONTRIBUTING.md for details on the development workflow and how to create your pull request.