https://github.com/autokmg/spring-reactive-programming-practices
Exploring the world of reactive programming and its pivotal role in optimizing resources and achieving scalability in today's interconnected systems. Delving into Project Reactor, experimenting with reactive database access, considering frontend integration options, and harnessing RSocket for high-performance interprocess communication.
https://github.com/autokmg/spring-reactive-programming-practices
flyway-postgresql java-11 java-17 r2dbc-h2 reactive-programming spring-boot spring-rsocket
Last synced: 2 months ago
JSON representation
Exploring the world of reactive programming and its pivotal role in optimizing resources and achieving scalability in today's interconnected systems. Delving into Project Reactor, experimenting with reactive database access, considering frontend integration options, and harnessing RSocket for high-performance interprocess communication.
- Host: GitHub
- URL: https://github.com/autokmg/spring-reactive-programming-practices
- Owner: AutoKMG
- Created: 2023-10-19T21:04:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-24T20:28:19.000Z (over 1 year ago)
- Last Synced: 2025-02-06T11:05:34.893Z (3 months ago)
- Topics: flyway-postgresql, java-11, java-17, r2dbc-h2, reactive-programming, spring-boot, spring-rsocket
- Language: Java
- Homepage:
- Size: 136 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**
# Reactive programming with Spring WebFlux
In this chapter, I delved into the world of reactive programming and its pivotal role in resource optimization and scalability in today's interconnected systems. I explained how the Reactive Streams initiative, particularly Project Reactor, serves as a flexible foundation for achieving system-wide scalability.
I introduced the concepts of blocking and non-blocking communication, highlighting key engines like Tomcat and Netty. I also showcased how to leverage reactive database access with Spring WebFlux and Project Reactor, using Reactive Relational Database Connectivity (R2DBC) for SQL databases and seamless integration with NoSQL databases like MongoDB through Spring Data and Spring Boot.
Moreover, I explored frontend integration options for reactive types, including a limited migration path using Thymeleaf for applications still using generated view technologies.
To push the boundaries of interprocess communication, I demonstrated the power of RSocket, particularly with Spring Boot's RSocket support and autoconfiguration, unlocking performance, scalability, resilience, and enhanced developer productivity.
### *Note*
planefinder and aircraft-positions are two projects that already exists in my repositories but with synchronous apporach. They are in this repo again as a practice of refactoring a blocking system to a non-blocking one.**