Implementation of Microservices Architecture in a Retail Web Application Using Apache Kafka as a Message Broker - Daeli, Stefanus; Lase, Kristian Juri Damai; Sumihar, Yoel Pieter (Bina Nusantara University, 2025)
Web-based applications are often initially developed using monolithic architecture due to its simplicity and ease of deployment. However, as application complexity grows, monolithic systems face critical limitations in scalability, flexibility, and performance. This research applies a microservices architecture to a Retail Web divided into four core services: user, product, transaction, and notification management. Apache Kafka is integrated as a message broker to support asynchronous, real-time communication across services. A total of 2,001 requests were recorded during system testing using Prometheus. The srv_tulityretailaccounts service achieved an average response time of 122.8 ms, and the srv_tulityretailtransactions service maintained 188.1 ms with a 98% success rate. The srv_tulityretailproducts service also demonstrated stable performance with consistently low response times and no error spikes. Meanwhile, the srv_tulityretailnotifications service showed the highest efficiency with an average response time of 28.5 ms, CPU usage at 12.75% (1.53 of 12 cores), and memory usage at 2.07 GB (56.5%) of 3.66 GB. Throughout testing, no service exhibited resource saturation or degradation, even under concurrent load conditions. This confirms the system’s horizontal scalability, where each service can independently scale without impacting others. Overall, the microservices approach has proven effective in enhancing performance, modularity, and production-readiness, while laying a strong foundation for continuous integration, deployment automation, and future feature expansion.