The microservices architecture is getting more and more popular in the industry. The application of the architecture helps to keep track of the dependencies between the various components of an application and thus makes it easier to maintain complex software systems in the long run. Although the application of the microservices architecture has obvious benefits, it also presents many challenges. Like in every distributed system microservices also suffer from waterfall-like cascading failures, temporary data inconsistencies and non-trivial monitoring.
In my thesis I present some common challenges and their respective mitigation techniques. I implemented a video streaming application with the help of the Spring Cloud framework, in which I also demonstrate these solutions in practice. During the development of the application I tried to always pick the most modern technologies, which I will also detail in my work.
In the end I evaluate the completed video streaming portal and I also suggest some ways the application might be improved.