Autor(es): Gomes, Ivo Belchior Badim Lopes
Data: 2023
Identificador Persistente: http://hdl.handle.net/11110/2772
Origem: CiencIPCA
Assunto(s): Systems Architecture; Distributed Systems; Asynchronous Communication; HTTP; Webhook
Autor(es): Gomes, Ivo Belchior Badim Lopes
Data: 2023
Identificador Persistente: http://hdl.handle.net/11110/2772
Origem: CiencIPCA
Assunto(s): Systems Architecture; Distributed Systems; Asynchronous Communication; HTTP; Webhook
Os webhooks são um paradigma de comunicação assíncrona, suportado pelo protocolo de comunicação em rede Hypertext Transfer Protocol (HTTP), que consistem na invocação de rotinas de callback, para um qualquer endereço anteriormente registado, após a ocorrência de um determinado evento. Embora o uso de webhooks tenha vindo a ganhar popularidade no desenvolvimento de aplicações distribuídas, a sua implementação apresenta ainda oportunidades de melhoria, particularmente no que diz respeito à escalabilidade, onde as abordagens encontradas na literatura apresentam limitações. Este trabalho propõe uma arquitetura de webhooks, orientada à escalabilidade, com o objetivo de enriquecer as abordagens encontradas. A mesma é constituída por um controller, um message broker e um conjunto de stateless workers, que são dinamicamente instanciados através da monitorização de indicadores de carga do sistema. Para validar a arquitetura proposta, desenvolveu-se um protótipo, implementou-se um teste de carga e realizou-se uma análise de desempenho. Os resultados indicam que a arquitetura mantém elevado desempenho independentemente do número de workers e carga de trabalho, sugerindo, por consequência, escalabilidade.