Managing long-running asynchronous tasks in multi-tenant microservices

dc.contributor.advisor-co1Cavalcante, Everton Ranielly de Sousa
dc.contributor.advisorIDhttps://orcid.org/0000-0003-3558-1450pt_BR
dc.contributor.advisorLatteshttp://lattes.cnpq.br/5521922960404236pt_BR
dc.contributor.authorSilva, Felipe Morais da
dc.contributor.authorLatteshttp://lattes.cnpq.br/7243232425776112pt_BR
dc.contributor.referees1Cacho, Nélio Alessandro Azevedo
dc.contributor.referees2Ferraz, Carlos André Guimarães
dc.date.accessioned2024-11-05T21:12:06Z
dc.date.available2024-11-05T21:12:06Z
dc.date.issued2024-05-16
dc.description.abstractA multi-tenant microservices architecture involving components with asynchronous interactions and batch jobs requires efficient strategies for managing asynchronous workloads. This work addresses this issue in the context of a leading company in the development of tax software solutions for many national and multinational companies in Brazil. A critical process provided by the company’s cloud-based solutions involves tax integration, which includes coordinating complex tax calculation tasks and needs to be supported by asynchronous operations using a message broker to ensure order correctness. These operations can be independent of each other, which characterizes the parallel process; or they can be dependent on each other, which characterizes the First in First out (FIFO) process. FIFO processes have additional restrictions regarding parallels. For this reason, we explored and implemented two approaches to managing asynchronous workloads related to tax integration within a multi-tenant microservices architecture in the enterprise context: (i) a polling-based approach that employs a queue as a Distributed Lock ( DL) and (ii) a push-based approach called Single Active Consumer (SAC) that relies on message broker logic to deliver messages. These approaches aim to achieve efficient resource allocation when dealing with an increasing number of container replicas and tenants. In this work, we evaluate the correctness and performance of DL and SAC approaches to clarify how asynchronous workloads impact the management of multi-tenant microservices architectures from a delivery and deployment perspective.pt_BR
dc.description.resumoUma arquitetura de microsserviços multi-tenant envolvendo componentes com interações assíncronas e trabalhos em lote requer estratégias eficientes para gerenciar cargas de trabalho assíncronas. Este trabalho aborda essa questão no contexto de uma empresa líder no desenvolvimento de soluções de software tributário usado por muitas empresas nacionais e multinacionais no Brasil. Um processo crítico fornecido pelas soluções baseadas em nuvem da empresa envolve a integração tributária, que inclui a coordenação de tarefas complexas de cálculo de impostos e precisa ser apoiada por operações assíncronas usando um serviço de mensageria para garantir a ordem correta. Essas operações podem ser independentes entre si, o que caracteriza o processo paralelo; ou podem ser dependentes entre si, o que caracteriza o processo First In First Out (FIFO). Os processos FIFO possuem restrições adicionais em relação aos paralelos. Por este motivo, especificamos e implementamos duas abordagens para gerenciar cargas de trabalho assíncronas relacionadas à integração tributária dentro de uma arquitetura de microsserviços multitenant no contexto da empresa: (i) uma abordagem baseada em polling que emprega uma fila como um Distributed Lock (DL) e (ii) um abordagem baseada em push denominada Single Active Consumer (SAC) que depende da lógica do agente de mensagens para entregar mensagens. Essas abordagens visam alcançar uma alocação eficiente de recursos ao lidar com um número crescente de réplicas de contêineres e tenants. Esse trabalho também apresenta uma avaliação do desempenho das abordagens DL e SAC para esclarecer como as cargas de trabalho assíncronas impactam o gerenciamento de arquiteturas de microsserviços multi-tenant do ponto de vista de entrega e implantação.pt_BR
dc.identifier.citationSILVA, Felipe Morais da. Managing long-running asynchronous tasks in multi-tenant microservices. Orientadora: Dra. Thais Vasconcelos Batista. 2024. 108f. Dissertação (Mestrado em Sistemas e Computação) - Centro de Ciências Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2024.pt_BR
dc.identifier.urihttps://repositorio.ufrn.br/handle/123456789/60507
dc.languagept_BRpt_BR
dc.publisherUniversidade Federal do Rio Grande do Nortept_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.initialsUFRNpt_BR
dc.publisher.programPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectComputaçãopt_BR
dc.subjectMicroservicespt_BR
dc.subjectMulti-tenancypt_BR
dc.subjectAsynchronous workloadpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOpt_BR
dc.titleManaging long-running asynchronous tasks in multi-tenant microservicespt_BR
dc.typemasterThesispt_BR

Arquivos

Pacote Original

Agora exibindo 1 - 1 de 1
Nenhuma Miniatura disponível
Nome:
Managinglongrunning_Silva_2024.pdf
Tamanho:
1.65 MB
Formato:
Adobe Portable Document Format
Nenhuma Miniatura disponível
Baixar