A Method of Transparent Graceful Failover in Low Latency Stateful Microservices

Microservice architecture is a preferred way to build applications. Being flexible and loosely coupled, it allows to deploy code at a high pace. State, or, in other words, data is not only a commodity but crucial to any business. The high availability and accessibility of data enables companies to r...

Full description

Bibliographic Details
Main Authors: Kęstutis Pakrijauskas, Dalius Mažeika
Format: Article
Language:English
Published: MDPI AG 2022-11-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/11/23/3936
_version_ 1797463445744910336
author Kęstutis Pakrijauskas
Dalius Mažeika
author_facet Kęstutis Pakrijauskas
Dalius Mažeika
author_sort Kęstutis Pakrijauskas
collection DOAJ
description Microservice architecture is a preferred way to build applications. Being flexible and loosely coupled, it allows to deploy code at a high pace. State, or, in other words, data is not only a commodity but crucial to any business. The high availability and accessibility of data enables companies to remain competitive. However, maintaining low latency stateful microservices, for example, performing updates, is difficult compared to stateless microservices. Making changes to a stateful microservice requires a graceful failover, which has an impact on the availability budget. The method of graceful failover is proposed to improve availability of a low latency stateful microservice when performing maintenance. By observing database connection activity and forcefully terminating idle client connections, the method allows to redirect database requests from one node to another with negligible impact on the client. Thus, the proposed method allows to keep the precious availability budget untouched while performing maintenance operations on low latency stateful microservices. A set of experiments was performed to evaluate stateful microservice availability during failover and to validate the method. The results have shown that near-zero downtime was achieved during a graceful failover.
first_indexed 2024-03-09T17:50:48Z
format Article
id doaj.art-d8f8d996714646fcb0d60c157204134d
institution Directory Open Access Journal
issn 2079-9292
language English
last_indexed 2024-03-09T17:50:48Z
publishDate 2022-11-01
publisher MDPI AG
record_format Article
series Electronics
spelling doaj.art-d8f8d996714646fcb0d60c157204134d2023-11-24T10:47:58ZengMDPI AGElectronics2079-92922022-11-011123393610.3390/electronics11233936A Method of Transparent Graceful Failover in Low Latency Stateful MicroservicesKęstutis Pakrijauskas0Dalius Mažeika1Department of Information Systems, Faculty of Fundamental Sciences, Vilnius Gediminas Technical University, Sauletekio Avn., 11, 10223 Vilnius, LithuaniaDepartment of Information Systems, Faculty of Fundamental Sciences, Vilnius Gediminas Technical University, Sauletekio Avn., 11, 10223 Vilnius, LithuaniaMicroservice architecture is a preferred way to build applications. Being flexible and loosely coupled, it allows to deploy code at a high pace. State, or, in other words, data is not only a commodity but crucial to any business. The high availability and accessibility of data enables companies to remain competitive. However, maintaining low latency stateful microservices, for example, performing updates, is difficult compared to stateless microservices. Making changes to a stateful microservice requires a graceful failover, which has an impact on the availability budget. The method of graceful failover is proposed to improve availability of a low latency stateful microservice when performing maintenance. By observing database connection activity and forcefully terminating idle client connections, the method allows to redirect database requests from one node to another with negligible impact on the client. Thus, the proposed method allows to keep the precious availability budget untouched while performing maintenance operations on low latency stateful microservices. A set of experiments was performed to evaluate stateful microservice availability during failover and to validate the method. The results have shown that near-zero downtime was achieved during a graceful failover.https://www.mdpi.com/2079-9292/11/23/3936stateful microserviceavailabilitydatabaseclusterKubernetesfailover
spellingShingle Kęstutis Pakrijauskas
Dalius Mažeika
A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
Electronics
stateful microservice
availability
database
cluster
Kubernetes
failover
title A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
title_full A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
title_fullStr A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
title_full_unstemmed A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
title_short A Method of Transparent Graceful Failover in Low Latency Stateful Microservices
title_sort method of transparent graceful failover in low latency stateful microservices
topic stateful microservice
availability
database
cluster
Kubernetes
failover
url https://www.mdpi.com/2079-9292/11/23/3936
work_keys_str_mv AT kestutispakrijauskas amethodoftransparentgracefulfailoverinlowlatencystatefulmicroservices
AT daliusmazeika amethodoftransparentgracefulfailoverinlowlatencystatefulmicroservices
AT kestutispakrijauskas methodoftransparentgracefulfailoverinlowlatencystatefulmicroservices
AT daliusmazeika methodoftransparentgracefulfailoverinlowlatencystatefulmicroservices