Ir para o conteúdo

Melhoria de performance na recepção de mensagens de Chat

Situação 🌧️

Foi implementado uma função lambda utilizada como intermediadora entre o Instant Message (IM) e a Loja Digital, que vai receber novas mensagens e atualizações de status de mensagens do chat de atendimento. Dessa forma, a recepção desses eventos é isolado do microsserviço da Loja Digital Chat API, evitando sobrecarregar com uma enxurrada de requisições.
O problema é que essa função lambda estava com o “Cold start” bem alto, sua inicialização era demorada e a conexão com o RabbitMQ também estava alto.

Ação ☀️

Realizei um estudo para entender quais eram os fatores que mais impactavam o tempo da lambda. Percebi que poderia melhorar o tempo de conexão com o RabbitMQ com uma configuração específica, além disso coloquei na lambda o webpack diminuindo o tempo de inicialização.
Criei um documento com mais detalhes sobre essas ações e estudos: Melhorar performance na lambda de Webhook Chat

Resultado 🌈

Após o estudo, alterações e testes de carga, conseguimos diminuir, aproximadamente, 80% do tempo de duração da lambda. Além disso, adicionamos o webpack para diminuir o pacote da lambda. Começamos com uma duração máxima de ~5s para ˜1s.


Última atualização : 28 de abril de 2025
Criada : 26 de mar. de 2024