Due to modern demands for fast responses and processing large amounts of data, old architectures can no longer provide responsive and reliable systems. This problem was answered with the concepts of reactivity. The way of reactive development, reactive programming, properties of reactive systems and reactive paradigms were defined, which lead the developer to complete reactive applications. These units of reactivity are studied and described in the thesis. The area of reactive libraries for the Java programming language and the concepts and reactive architecture of microservices were reviewed. They were used in the implementation of a reactive application. The same application was also developed in imperative manner. Interest was mainly focused on comparing the performance and efficiency of implementations. Load tests and analysis of metrics read during runtime were performed. It was shown that the imperative application performed better than the reactive one, and the latter maintained constant values and speeds throughout the tests despite slower responsiveness.
|