IMPLEMENTATION OF MICROSERVICES ARCHITECTURE USING EVENT-DRIVEN COMMUNICATION IN EVENT TICKETING APPLICATION

Booking tickets is a dynamic needs, hence the application must be able to serve requests quickly without any issues. One of the challenges is the nature of event ticketing applications which often receive an excessive load of requests, resulting the entire application prone to downtime. In order...

Full description

Saved in:
Bibliographic Details
Main Author: Brandon Luwianto, Leonardus
Format: Final Project
Language:Indonesia
Online Access:https://digilib.itb.ac.id/gdl/view/78290
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Institut Teknologi Bandung
Language: Indonesia
Description
Summary:Booking tickets is a dynamic needs, hence the application must be able to serve requests quickly without any issues. One of the challenges is the nature of event ticketing applications which often receive an excessive load of requests, resulting the entire application prone to downtime. In order to maintain application reliability and prevent a single point of failure, the proposed solution is to build a fault-tolerant system by implementing a loosely-coupled microservices architecture using event- driven communication. Based on the functional requirements analysis of the event ticketing application, the server can be divided into multiple microservices. However, there are ticket booking scenarios that have dependencies between microservices to fulfill requests. Therefore, in this final project, the communication between microservices that supports the loosely-coupling concept will be implemented, using an event-driven architecture with a publish-subscribe model, and data replication between microservices. The evaluation will be conducted by testing each ticket booking scenario with dependency issues. The goal of the testing is to assess the loosely-coupling of each microservice in fulfilling requests. After testing, each ticket booking scenario will no longer have dependencies between microservices in fulfilling requests. Thus, the loosely-coupling behaviour of the microservices in this ticketing application can be achieved, and when one of the microservices is down, users can still perform other actions that is handled by other active microservice (no single point of failure).