{"id":15330003,"url":"https://github.com/lhotari/reactive-iot-backend-apachecon2021","last_synced_at":"2025-07-15T19:37:44.769Z","repository":{"id":146038415,"uuid":"408805531","full_name":"lhotari/reactive-iot-backend-ApacheCon2021","owner":"lhotari","description":"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","archived":false,"fork":false,"pushed_at":"2024-12-04T16:25:36.000Z","size":634,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-15T02:53:50.769Z","etag":null,"topics":["apache-pulsar","project-reactor","reactive-pulsar","reactive-streams","spring-reactive","tutorials"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lhotari.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-09-21T12:10:00.000Z","updated_at":"2024-12-04T16:25:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"59d16139-392c-4971-b09c-d12cd74909ac","html_url":"https://github.com/lhotari/reactive-iot-backend-ApacheCon2021","commit_stats":{"total_commits":12,"total_committers":2,"mean_commits":6.0,"dds":"0.41666666666666663","last_synced_commit":"fa82c3ddbd16abf475f8158aac92ff561adf4c3f"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lhotari/reactive-iot-backend-ApacheCon2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhotari%2Freactive-iot-backend-ApacheCon2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhotari%2Freactive-iot-backend-ApacheCon2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhotari%2Freactive-iot-backend-ApacheCon2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhotari%2Freactive-iot-backend-ApacheCon2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lhotari","download_url":"https://codeload.github.com/lhotari/reactive-iot-backend-ApacheCon2021/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lhotari%2Freactive-iot-backend-ApacheCon2021/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265455529,"owners_count":23768567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache-pulsar","project-reactor","reactive-pulsar","reactive-streams","spring-reactive","tutorials"],"created_at":"2024-10-01T09:50:53.998Z","updated_at":"2025-07-15T19:37:44.723Z","avatar_url":"https://github.com/lhotari.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# reactive-iot-backend\n\nThe is the source code of the live coding demo for [\"Building resilient and scalable API backends with Apache Pulsar and Spring Reactive\"\ntalk held at ApacheCon@Home 2021 by Lari Hotari](https://www.apachecon.com/acah2021/tracks/apimicro.html).\n\n* [Slides for the presentation](\u003cBuilding resilient and scalable API backends with Apache Pulsar and Spring Reactive.pdf\u003e)\n* [Recording for the presentation](https://youtu.be/-Vp2Rxs2l9Y?t=28)\n\nUpdate 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.\n\n## Running\n\nRun each of the commands in a separate terminal window/tab.\n\n### Start Pulsar in docker\n\nMake sure that ports 8080 and 6650 are available.\n```bash\ndocker run -it -p 8080:8080 -p 6650:6650 apachepulsar/pulsar:4.0.1 /pulsar/bin/pulsar standalone -nss -nfw\n```\n\n### Start the application\n\n```bash\n./gradlew bootRun\n```\nThe application starts on port 8081.\n\n### Generate 1 million telemetry events with a shell script and curl\n\n```bash\n{ for i in {1..1000000}; do echo '{\"n\": \"device'$i'/sensor1\", \"v\": '$i'.123}'; done; } \\\n    | curl -X POST -T - -H \"Content-Type: application/x-ndjson\" localhost:8081/telemetry\n```\n\n### Stream events to console with curl\n\n```bash\ncurl -N localhost:8081/firehose\n```\n\n## License\n\nThis is Open Source Software released under the [Apache Software License 2.0](www.apache.org/licenses/LICENSE-2.0).\n\n## References\n\n* Apache Pulsar: https://pulsar.apache.org/\n* Spring Reactive: https://spring.io/reactive\n* Spring for Apache Pulsar: https://spring.io/projects/spring-pulsar/\n* Reactive client for Apache Pulsar: https://github.com/apache/pulsar-client-reactive \n* Reactive Pulsar showcase application: https://github.com/lhotari/reactive-pulsar-showcase\n\n## Questions\n\n* [apache-pulsar](https://stackoverflow.com/tags/apache-pulsar) and [reactive-pulsar](https://stackoverflow.com/tags/reactive-pulsar) tags on Stackoverflow\n* Join [Pulsar Slack for live discussions](https://pulsar.apache.org/en/contact/), there is #reactive-pulsar channel on Pulsar Slack.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flhotari%2Freactive-iot-backend-apachecon2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flhotari%2Freactive-iot-backend-apachecon2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flhotari%2Freactive-iot-backend-apachecon2021/lists"}