Monolithic and microservice architectures represent two widely adopted approaches to developing modern information systems, with the choice between
them signifcantly affecting system performance, development complexity,
and scalability. This thesis compares both architectural approaches through
the implementation of a ticket reservation information system. Two functionally equivalent versions of the system were developed using Node.js, Express,
Angular, PostgreSQL, and Docker. The evaluation combines a qualitative
analysis of the development process with quantitative measurements of response time, throughput, and resource utilization under different workload
scenarios. The results show that the monolithic architecture achieves better or comparable performance in most cases and signifcantly outperforms
the microservice architecture under high workloads due to the absence of
inter-service communication overhead. Microservices demonstrate competitive performance in selected transactional scenarios with low and moderate
workloads but require considerably greater development and infrastructure
complexity. The findings indicate that the monolithic architecture is often
the more suitable choice for medium-complexity systems, whereas the advantages of microservices become more apparent in environments that support
independent horizontal scaling of individual services.
|