Date of Award
Spring 2025
Project Type
Thesis
Program or Major
Computer Science
Degree Name
Master of Science
First Advisor
Michel Charpentier
Second Advisor
Radim Bartos
Third Advisor
Michael Kulik
Abstract
Project Reactor is a Java-based Reactive Streams implementation that provides APIs forasynchronous stream processing. This thesis compares the ease of development, pitfalls, and performance of a network traffic processing application implemented using Reactor against an identical application implemented with plain Java. Due to the popularity of the microservices architecture commonly deployed in cloud environments, implementations are tested in environments with limited resources to emulate a scenario where paying for more resources may not be feasible and to compare the two applications under extreme resource contention. Throughout the development of both implementations, pitfalls were encountered in both that lead to large performance degradations that had to be analyzed and addressed. In the end, neither implementation was definitively more performant than the other. The plain Java implementation generally outperformed the Reactor implementation under lighter loads, but in one scenario, was less robust than the Reactor implementation under higher loads. In terms of ease of implementation, after overcoming a learning curve, the development of the Reactor implementation was easier. This was due to a variety of built-in functionality that could easily be plugged into the Reactor implementation but had to be manually implemented for the plain Java implementation.
Recommended Citation
Ouellette, Kyle, "Costs and Benefits of Reactive Streams for Asynchronous Services" (2025). Master's Theses and Capstones. 1991.
https://scholars.unh.edu/thesis/1991