SLA-aware microservices architecture performance on distributed event queues

Cette thèse a été menée au sein de l'entreprise HighTech Payment Systems (HPS). HPS souhaitait repenser leur système d'autorisation de paiement en un ensemble de microservices communiquant via des files d'attente d'événements (c'est-à-dire des microservices pilotés par les événements) et s'exécutant sur un orchestrateur de ressources, Kubernetes, au-dessus d'un intergiciel supportant des queues d'événements, en l'occurrence Kafka. Dans le cadre de cette nouvelle solution d'autorisation de paiement, mes recherches ont consisté à ajouter et supprimer dynamiquement des ressources (réplica de services) afin de garantir une latence souhaitée, à faible coût et en optimisant l'usage des ressources. Dans ce contexte, la première partie de cette thèse a abordé le problème de recherche de l'efficacité dans l'utilisation des ressources et de la prise en compte de la latence pour un unique microservice piloté par les événements. Nous avons modélisé mathématiquement le problème et l'avons exprimé sous la forme d'un problème de bin pack bidimensionnel avec deux métriques (taux d'arrivée et longueur de la file d'attente des événements à traiter). Nous avons proposé d'utiliser une heuristique appropriée (Least-Loaded) pour résoudre le problème en temps polynomial. Par ailleurs, sachant que l'ajout et la suppression de réplicas de services pour les microservices événementiels nécessitent un protocole de synchronisation/d'affectation de partitions aux réplicas qui est bloquant, nous avons étendu l'algorithme de bin pack pour prendre en compte l'accumulation d'événements lors de la synchronisation bloquante, et ce afin de réduire la latence. Dans la deuxième partie de la thèse, nous abordons le problème de l'efficacité de l'usage des ressources et de la prise en compte de la latence pour un ensemble de microservices événementiels interconnectés dans une topologie de graphe acyclique. Nous expliquons comment l'interaction parent-enfant et enfant-parent entre les services peut tromper un autoscaler naïf (par exemple, l'autoscaler de Kubernetes) lors du provisionnement des ressources/réplicas de services requis. Par conséquent, nous proposons un algorithme qui visite chaque microservice du graphe dans l'ordre topologique et, qui simultanément, dans le même intervalle de décision, provisionne les réplicas de services requis pour chaque microservice. Nous notons cependant que cette solution n'a pas été entièrement finalisée et nécessite des expérimentations supplémentaires au-delà des travaux présentés dans cette thèse.

Authors

Publication Details

Journal
theses.fr (ABES)
Published
2025-09-16
Primary Topic
Software System Performance and Reliability
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

SLA-aware microservices architecture performance on distributed event queues

Mazen Ezzeddine
theses.fr (ABES)
Software System Performance and Reliability
article

SLA-aware microservices architecture performance on distributed event queues

Mazen Ezzeddine
article en

Abstract

Cette thèse a été menée au sein de l'entreprise HighTech Payment Systems (HPS). HPS souhaitait repenser leur système d'autorisation de paiement en un ensemble de microservices communiquant via des files d'attente d'événements (c'est-à-dire des microservices pilotés par les événements) et s'exécutant sur un orchestrateur de ressources, Kubernetes, au-dessus d'un intergiciel supportant des queues d'événements, en l'occurrence Kafka. Dans le cadre de cette nouvelle solution d'autorisation de paiement, mes recherches ont consisté à ajouter et supprimer dynamiquement des ressources (réplica de services) afin de garantir une latence souhaitée, à faible coût et en optimisant l'usage des ressources. Dans ce contexte, la première partie de cette thèse a abordé le problème de recherche de l'efficacité dans l'utilisation des ressources et de la prise en compte de la latence pour un unique microservice piloté par les événements. Nous avons modélisé mathématiquement le problème et l'avons exprimé sous la forme d'un problème de bin pack bidimensionnel avec deux métriques (taux d'arrivée et longueur de la file d'attente des événements à traiter). Nous avons proposé d'utiliser une heuristique appropriée (Least-Loaded) pour résoudre le problème en temps polynomial. Par ailleurs, sachant que l'ajout et la suppression de réplicas de services pour les microservices événementiels nécessitent un protocole de synchronisation/d'affectation de partitions aux réplicas qui est bloquant, nous avons étendu l'algorithme de bin pack pour prendre en compte l'accumulation d'événements lors de la synchronisation bloquante, et ce afin de réduire la latence. Dans la deuxième partie de la thèse, nous abordons le problème de l'efficacité de l'usage des ressources et de la prise en compte de la latence pour un ensemble de microservices événementiels interconnectés dans une topologie de graphe acyclique. Nous expliquons comment l'interaction parent-enfant et enfant-parent entre les services peut tromper un autoscaler naïf (par exemple, l'autoscaler de Kubernetes) lors du provisionnement des ressources/réplicas de services requis. Par conséquent, nous proposons un algorithme qui visite chaque microservice du graphe dans l'ordre topologique et, qui simultanément, dans le même intervalle de décision, provisionne les réplicas de services requis pour chaque microservice. Nous notons cependant que cette solution n'a pas été entièrement finalisée et nécessite des expérimentations supplémentaires au-delà des travaux présentés dans cette thèse.

theses.fr (ABES)
Openalex Percentile: Top 30%
Software System Performance and Reliability
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.