This Project demonstrates the response time improvement when we compare a traditional blocking sprinboot project to a non-blocking springboot project. We achieved major performance gains: read operations became noticeably faster, CRUD workflows improved by 95.6%, and file read/write processing efficiency increased by 85%.
- Blocking (Synchronous) Microservices Blocking APIs stop the execution thread until a result is received from the backend layer.
- Non-Blocking (Asynchronous) Microservices Non-blocking APIs don’t wait for the backend response. They continue handling new incoming user requests.
- Blocking (Synchronous) Microservices A single thread serves the entire request from controller → business layer → repository layer. This same thread is blocked until the response is returned.
- Non-Blocking (Asynchronous) Microservices Multiple worker threads perform backend tasks. The main thread passes the request to a worker thread from a pool and continues serving new requests. The worker thread processes the request and sends the response back to the user.
Note: We can also create non-blocking APIs in Spring Boot using async features and CompletableFuture.

API Response Time Diff







