https://github.com/okp4/kafka-processor-cosmos-tx-dispatch
Kafka Streams Processor to dispatch protobuf encoded CØSMOS transactions in topics depending on routing rules
https://github.com/okp4/kafka-processor-cosmos-tx-dispatch
cosmos-sdk kafka kafka-streams protobuf
Last synced: 26 days ago
JSON representation
Kafka Streams Processor to dispatch protobuf encoded CØSMOS transactions in topics depending on routing rules
- Host: GitHub
- URL: https://github.com/okp4/kafka-processor-cosmos-tx-dispatch
- Owner: okp4
- License: bsd-3-clause
- Created: 2022-04-25T11:13:52.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-29T09:42:22.000Z (about 1 year ago)
- Last Synced: 2024-11-04T19:42:13.943Z (6 months ago)
- Topics: cosmos-sdk, kafka, kafka-streams, protobuf
- Language: Kotlin
- Homepage:
- Size: 1.02 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE-OF-CONDUCT.md
Awesome Lists containing this project
- awesome-ccamel - okp4/kafka-processor-cosmos-tx-dispatch - Kafka Streams Processor to dispatch protobuf encoded CØSMOS transactions in topics depending on routing rules (Kotlin)
README
# Kafka Processor Dispatch Cosmos TX
[](https://github.com/okp4/kafka-processor-cosmos-tx-dispatch/releases)
[](https://github.com/okp4/kafka-processor-cosmos-tx-dispatch/actions/workflows/build.yml)
[](https://github.com/okp4/kafka-processor-cosmos-tx-dispatch/actions/workflows/lint.yml)
[](https://github.com/okp4/kafka-processor-cosmos-tx-dispatch/actions/workflows/test.yml)
[](https://conventionalcommits.org)
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://quarkus.io)## Purpose
Kafka Streams Processor that consumes [CØSMOS](https://github.com/cosmos/cosmos-sdk) and [OKP4](https://github.com/okp4/okp4d) Protobuf messages from an `input` topic and dispatch them to `output` topics relying on routing rules.
![]()
## Implementation
Implementation mainly relies on [Kafka Streams API](https://kafka.apache.org/documentation/streams), library to create
event-stream applications with the following features:- no external dependency other than Kafka itself,
- simple and light library,
- fault-tolerant and scalable.Moreover, this implementation:
- uses [Kotkin](https://kotlinlang.org/) as primary coding language,
- uses [Quarkus](https://quarkus.io/) to minimize resources consumption,
- is as much as possible, lean, i.e. tries to minimize the dependencies to 3rd party libraries and the resulting package
footprint.## Build
This project targets the [JVM 11+](https://openjdk.java.net/), so be sure to have it available in your environment.
This project relies on the [Gradle](https://gradle.org/) build system.
If you are on Windows then open a command line, go into the root directory and run:
```sh
.\gradlew build
```If you are on linux/mac then open a terminal, go into the root directory and run:
```sh
./gradlew build
```This command line produces a _native_ executable: `kafka-processor-cosmos-tx-proto2json-X.Y-runner`