The is the source code of the live coding demo for "Building resilient and scalable API backends with Apache Pulsar and Spring Reactive" talk held at ApacheCon@Home 2021 by Lari Hotari.
Update 12/2023: This example project has been updated to use latest versions of Pulsar Reactive Client and Spring for Apache Pulsar. This code base uses Pulsar Reactive Client directly, without the special annotation support Spring for Apache Pulsar.
Run each of the commands in a separate terminal window/tab.
Make sure that ports 8080 and 6650 are available.
docker run -it -p 8080:8080 -p 6650:6650 apachepulsar/pulsar:4.0.1 /pulsar/bin/pulsar standalone -nss -nfw
./gradlew bootRun
The application starts on port 8081.
{ for i in {1..1000000}; do echo '{"n": "device'$i'/sensor1", "v": '$i'.123}'; done; } \
| curl -X POST -T - -H "Content-Type: application/x-ndjson" localhost:8081/telemetry
curl -N localhost:8081/firehose
This is Open Source Software released under the Apache Software License 2.0.
- Apache Pulsar: https://pulsar.apache.org/
- Spring Reactive: https://spring.io/reactive
- Spring for Apache Pulsar: https://spring.io/projects/spring-pulsar/
- Reactive client for Apache Pulsar: https://github.com/apache/pulsar-client-reactive
- Reactive Pulsar showcase application: https://github.com/lhotari/reactive-pulsar-showcase
- apache-pulsar and reactive-pulsar tags on Stackoverflow
- Join Pulsar Slack for live discussions, there is #reactive-pulsar channel on Pulsar Slack.