A Study of Database Connection Pool in Microservice Architecture

The growing number of the Internet presents a higher requirement for backend application systems to be designed to handle thousands of user traffic concurrently. Microservice architecture is also in a rising trend which allows each service to scale horizontally by its throughput, and load helps scal...

Full description

Bibliographic Details
Published in:International Journal on Informatics Visualization
Main Author: Sobri N.A.N.; Abas M.A.H.; Yassin I.M.; Ali M.S.A.M.; Md Tahir N.; Zabidi A.; Rizman Z.I.
Format: Article
Language:English
Published: Politeknik Negeri Padang 2022
Online Access:https://www.scopus.com/inward/record.uri?eid=2-s2.0-85137251946&doi=10.30630%2fjoiv.6.2-2.1094&partnerID=40&md5=2a7fe2d2f13fe6f11083222112b3a107
Description
Summary:The growing number of the Internet presents a higher requirement for backend application systems to be designed to handle thousands of user traffic concurrently. Microservice architecture is also in a rising trend which allows each service to scale horizontally by its throughput, and load helps scale the system efficiently without waste of resources like in the traditional monolithic application system. Among the many strategies to optimize delivery, the database connection pool helps backend systems to access databases efficiently by reusing database connections, thus eliminating the computationally expensive need to open and close connections with new requests. Additionally, database connection pools can help improve applications' connection reliability. This paper aims to determine the most suitable maximum amount of database connections in a microservice setting, where multiple instances of the service are used for scalability and high availability purposes of the system. To tackle the scalability issue and achieve the high availability of our services, we propose running multiple instances of each of our services in production, especially for services that we anticipate would be hit the most during runtime. This allows load balancing of request load between multiple instances and having backup instances to serve HTTP requests when one of the instances is down. The result obtained in this experiment shows that five database connections give the best result in microservice settings as described in our methodology. © 2022, Politeknik Negeri Padang. All rights reserved.
ISSN:25499904
DOI:10.30630/joiv.6.2-2.1094