https://github.com/daggerok/reactive-kafka
Simple Reactive Kafka app by using awesome: reactor-kafka, spring-webflux and spring-boot!
https://github.com/daggerok/reactive-kafka
gradle-kotlin-dsl gradle-plugin-kotlin kafka kotlin-dsl kotlin-plugin reactive reactive-kafka reactor-kafka spring-boot spring-boot-2 spring-kafka spring-webflux webflux
Last synced: 12 months ago
JSON representation
Simple Reactive Kafka app by using awesome: reactor-kafka, spring-webflux and spring-boot!
- Host: GitHub
- URL: https://github.com/daggerok/reactive-kafka
- Owner: daggerok
- License: mit
- Created: 2019-03-10T19:44:07.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-11T01:46:45.000Z (over 7 years ago)
- Last Synced: 2025-06-27T15:02:36.729Z (12 months ago)
- Topics: gradle-kotlin-dsl, gradle-plugin-kotlin, kafka, kotlin-dsl, kotlin-plugin, reactive, reactive-kafka, reactor-kafka, spring-boot, spring-boot-2, spring-kafka, spring-webflux, webflux
- Language: Kotlin
- Size: 122 KB
- Stars: 6
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# reactive-kafka
Simple Reactive Kafka app by using awesome: `reactor-kafka`, `spring-webflux` and `spring-boot`!

## Flow
```bash
HTTP POST via console / browser http client -->
--> Produce kafka command via WebFLux REST API -->
--> Process Command into Event via CommandProcessor -->
--> Handle event inside EventProcessor -->
--> Add event to EventStore
```
## Build, run and test
_start kafka and app_
```bash
./gradlew kStart
./gradlew bootRun
```
_test in a parallel in a terminal_
```bash
http :8080/help
http :8080 payload=hello
http :8080 payload=how\ are\ u\?
http :8080 payload='{"data":"nice!"}'
http :8080
http :8080/find/1
```
_shutdown and cleanup_
```bash
./gradlew kStop
./gradlew kCleanData
./gradlew --stop
```
resources:
- [reactor-kafka](https://projectreactor.io/docs/kafka/release/reference/)
- [YouTube: Reactive Kafka](https://www.youtube.com/watch?v=-ioxYn9Vlao)