Managing long-running asynchronous tasks in multi-tenant microservices
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal do Rio Grande do Norte
Brasil UFRN PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | https://repositorio.ufrn.br/handle/123456789/60507 |
Resumo: | A 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. |
| id |
UFRN_aab24ca8d607a3b6550055962acbb15e |
|---|---|
| oai_identifier_str |
oai:repositorio.ufrn.br:123456789/60507 |
| network_acronym_str |
UFRN |
| network_name_str |
Repositório Institucional da UFRN |
| repository_id_str |
|
| spelling |
Managing long-running asynchronous tasks in multi-tenant microservicesComputaçãoMicroservicesMulti-tenancyAsynchronous workloadCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOA 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.Uma 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.Universidade Federal do Rio Grande do NorteBrasilUFRNPROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃOhttp://lattes.cnpq.br/7243232425776112https://orcid.org/0000-0003-3558-1450http://lattes.cnpq.br/5521922960404236Cavalcante, Everton Ranielly de SousaCacho, Nélio Alessandro AzevedoFerraz, Carlos André GuimarãesSilva, Felipe Morais da2024-11-05T21:12:06Z2024-11-05T21:12:06Z2024-05-16info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfSILVA, 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.https://repositorio.ufrn.br/handle/123456789/60507info:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2024-11-05T21:12:42Zoai:repositorio.ufrn.br:123456789/60507Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2024-11-05T21:12:42Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false |
| dc.title.none.fl_str_mv |
Managing long-running asynchronous tasks in multi-tenant microservices |
| title |
Managing long-running asynchronous tasks in multi-tenant microservices |
| spellingShingle |
Managing long-running asynchronous tasks in multi-tenant microservices Silva, Felipe Morais da Computação Microservices Multi-tenancy Asynchronous workload CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
| title_short |
Managing long-running asynchronous tasks in multi-tenant microservices |
| title_full |
Managing long-running asynchronous tasks in multi-tenant microservices |
| title_fullStr |
Managing long-running asynchronous tasks in multi-tenant microservices |
| title_full_unstemmed |
Managing long-running asynchronous tasks in multi-tenant microservices |
| title_sort |
Managing long-running asynchronous tasks in multi-tenant microservices |
| author |
Silva, Felipe Morais da |
| author_facet |
Silva, Felipe Morais da |
| author_role |
author |
| dc.contributor.none.fl_str_mv |
http://lattes.cnpq.br/7243232425776112 https://orcid.org/0000-0003-3558-1450 http://lattes.cnpq.br/5521922960404236 Cavalcante, Everton Ranielly de Sousa Cacho, Nélio Alessandro Azevedo Ferraz, Carlos André Guimarães |
| dc.contributor.author.fl_str_mv |
Silva, Felipe Morais da |
| dc.subject.por.fl_str_mv |
Computação Microservices Multi-tenancy Asynchronous workload CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
| topic |
Computação Microservices Multi-tenancy Asynchronous workload CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
| description |
A 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. |
| publishDate |
2024 |
| dc.date.none.fl_str_mv |
2024-11-05T21:12:06Z 2024-11-05T21:12:06Z 2024-05-16 |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
SILVA, 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. https://repositorio.ufrn.br/handle/123456789/60507 |
| identifier_str_mv |
SILVA, 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. |
| url |
https://repositorio.ufrn.br/handle/123456789/60507 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal do Rio Grande do Norte Brasil UFRN PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO |
| publisher.none.fl_str_mv |
Universidade Federal do Rio Grande do Norte Brasil UFRN PROGRAMA DE PÓS-GRADUAÇÃO EM SISTEMAS E COMPUTAÇÃO |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRN instname:Universidade Federal do Rio Grande do Norte (UFRN) instacron:UFRN |
| instname_str |
Universidade Federal do Rio Grande do Norte (UFRN) |
| instacron_str |
UFRN |
| institution |
UFRN |
| reponame_str |
Repositório Institucional da UFRN |
| collection |
Repositório Institucional da UFRN |
| repository.name.fl_str_mv |
Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN) |
| repository.mail.fl_str_mv |
repositorio@bczm.ufrn.br |
| _version_ |
1855758853059117056 |