Enhancing Resilience and Scalability in Travel Booking Systems: A Microservices Approach to Fault Tolerance, Load Balancing, and Service Discovery

Biman Barua,M. Shamim Kaiser
2024-10-26
Abstract:This paper investigates the inclusion of microservices architecture in the development of scalable and reliable airline reservation systems. Most of the traditional reservation systems are very rigid and centralized which makes them prone to bottlenecks and a single point of failure. As such, systems do not meet the requirements of modern airlines which are dynamic. Microservices offer better resiliency and scalability because the services do not depend on one another and can be deployed independently. The approach is grounded on the Circuit Breaker Pattern to maintain fault tolerance while consuming foreign resources such as flight APIs and payment systems. This avoided the failure propagation to the systems by 60% enabling the systems to function under external failures. Traffic rerouting also bolstered this with a guarantee of above 99.95% uptime in systems where high availability was demanded. To address this, load balancing was used, particularly the Round-Robin method which managed to enhance performance by 35% through the equal distribution of user requests among the service instances. Health checks, as well as monitoring in real-time, helped as well with failure management as they helped to contain failures before the users of the system were affected. The results suggest that the use of microservices led to a 40% increase in system scalability, a 50% decrease in downtime and a support for 30% more concurrent users than the use of monolithic architectures. These findings affirm the capability of microservices in the development of robust and flexible airline ticket booking systems that are responsive to change and recover from external system unavailability.
Software Engineering,Artificial Intelligence,Computational Engineering, Finance, and Science,Machine Learning
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the lack of scalability and elasticity faced by traditional travel booking systems when confronted with high - concurrent access and external service failures. Specifically: 1. **Scalability and flexibility issues**: Traditional monolithic architectures require increasing the resources of the entire system when scaling, resulting in a waste of infrastructure and operating costs, especially during peak traffic periods. 2. **Single - point - of - failure issue**: The failure of any component will affect the entire system, leading to downtime, which does not meet the requirements of high - availability services. 3. **Load - management issue**: Monolithic architectures lack an effective load - balancing mechanism, resulting in increased network latency and error rates under high traffic, affecting service quality. 4. **Dependency and discoverability issues**: Services are difficult to add or maintain because of dependencies, limiting the evolution of the system and the rapid addition of new features. 5. **Security and reliability risks**: The lack of modularity makes it difficult to protect configuration elements, increasing the likelihood of a successful attack, especially when handling sensitive user data and operations. To solve these problems, the paper proposes using a microservices architecture to build a more reliable and scalable travel booking system. The microservices architecture improves the agility, scalability, and fault - tolerance of the system by decomposing a monolithic application into multiple independent services, each responsible for a specific aspect of the system. Specific technologies include: - **Circuit - breaker pattern**: Used to maintain fault tolerance for external resources (such as flight APIs and payment systems), avoid fault propagation, and improve system availability. - **Load balancing**: In particular, using the round - robin method to improve performance by evenly distributing user requests among service instances. - **Health checks and real - time monitoring**: Helps manage and isolate failures before users are affected. - **Service discovery**: Ensures that service instances can be dynamically registered and discovered, enabling automated traffic redirection and load management. The application of these technologies enables the microservices - based travel booking system to better handle high - concurrent access and external service failures and provide more stable and reliable services.