Arquitetura de Dados

Como ajudamos a Icatu a otimizar a API de negociação para lidar com alta demanda e melhorar a comunicação com o banco de dados

RESUMO

Diante da necessidade de aprimorar a API de negociação, a Icatu nos solicitou uma solução para melhorar a performance e a escalabilidade da API, de modo a suportar um aumento significativo de uso. A API atual não é escalável e apresenta um tempo de resposta insuficiente, especialmente em um endpoint específico, utilizado para a busca detalhada de propostas de negociação. A EximiaCo atuou na otimização dos processos e na comunicação com o banco de dados, visando reduzir o tempo de resposta e melhorar a eficiência de queries, permitindo que a aplicação do cliente mantenha seu desempenho mesmo com a alta demanda projetada.

Status
Em andamento
Sponsor: Suzana de Souza Mendes Cesar

Situação (antes da nossa atuação)

A Icatu contava com uma API de negociação que suportava o processo de consulta de propostas e outras interações importantes para o fluxo de negociação. Com o aumento iminente de demanda, o cliente identificou a necessidade de otimizar a API, visto que a mesma apresentava dificuldades de escalabilidade e performance. A API, atualmente em um ambiente on-premise, não foi projetada para suportar o nível de crescimento previsto, sendo necessário um trabalho robusto de reestruturação.

Além disso, a comunicação com o banco de dados SQL revelou ser uma das principais barreiras de desempenho. A API utiliza queries complexas e possui um endpoint crítico para a busca de detalhamento de propostas, o qual exige respostas rápidas e eficientes. Porém, a falta de escalabilidade e a comunicação ineficiente com o banco resultavam em latências que prejudicavam a experiência do cliente e limitavam a capacidade da aplicação.

Por fim, a aplicação estava limitada na aplicação de cache devido ao alto dinamismo dos filtros e à complexidade dos parâmetros utilizados nas consultas. Essa dificuldade ampliava os desafios de performance, já que o volume de dados consultados frequentemente não contava com uma camada de otimização eficiente.

Implicações

  • Baixa escalabilidade: A API atual não suporta o aumento de demanda previsto pelo cliente, resultando em limitações operacionais.
  • Performance limitada em consultas: O endpoint principal, utilizado para detalhamento de propostas, apresenta alta latência, afetando a agilidade no processo de negociação.
  • Queries complexas e pouco otimizadas: As queries SQL utilizadas não estão eficientes, aumentando o tempo de processamento e consumo de recursos.
  • Dificuldade em aplicar cache: A alta variabilidade de filtros e parâmetros dinâmicos dificulta a implementação de cache, resultando em consultas recorrentes ao banco para dados frequentemente acessados.

O que fizemos

Para atender às necessidades da Icatu, a EximiaCo implementou uma série de otimizações e melhorias estruturais na API de negociação, com foco em escalabilidade e eficiência de comunicação com o banco de dados.

  1. Reestruturação do endpoint principal: Iniciamos pela análise detalhada do endpoint de busca de propostas, revisando queries SQL e implementando melhorias nas instruções, índices e métodos de consulta. Buscamos reduzir ao máximo o número de chamadas desnecessárias e a complexidade dos filtros.
  2. Implementação de estratégias de cache inteligente: Trabalhamos na implementação de um sistema de cache adaptativo, que analisa padrões de consulta e cacheia resultados de alta frequência sempre que possível. Adotamos uma abordagem dinâmica que identifica combinações de filtros e os armazena temporariamente, melhorando o tempo de resposta em consultas repetitivas.
  3. Escalabilidade e migração: Projetamos uma estrutura escalável para a API, prevendo a futura migração para um ambiente cloud, ou a adoção de práticas de load balancing, possibilitando o atendimento à demanda crescente.
  4. Otimização de performance no banco de dados: A EximiaCo realizou um refinamento de queries SQL, aplicando índices e revendo a estrutura das tabelas conforme necessário. Isso resultou em uma comunicação mais ágil entre a API e o banco, mitigando gargalos de processamento e resposta.

Entregáveis

  • Reestruturação do endpoint principal, com redução de tempo de resposta em consultas críticas.
  • Implementação de cache adaptativo e inteligente, com variação dinâmica para filtros específicos.
  • Projeto de escalabilidade com planejamento para futura migração cloud ou balanceamento de carga.
  • Otimização completa de queries SQL e ajustes na estrutura do banco de dados para maior agilidade e eficiência.

Feedbacks

Aguardando feedback após a implantação dos ajustes para validar o impacto das melhorias na performance e na escalabilidade da API. A expectativa é que a Icatu observe uma melhora significativa no tempo de resposta, especialmente no endpoint de detalhamento de propostas, e que a API passe a comportar o aumento de demanda projetado com estabilidade e eficiência.

CLIENTE

Confira o cliente que está associado a este case:

CONSULTORES E ENGENHEIROS

Confira os consultores e engenheiros que participaram deste case:

Desenvolvedor .NET
0
Gostaríamos de ouvir sua opinião!x

ACESSO RESTRITO

Esse conteúdo é de acesso restrito à equipe de colaboradores da EximiaCo.

Trabalha na EximiaCo? Então conecte-se com sua conta:

Tenho interesse em conversar

Se você está querendo gerar mais resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Área de colaboradores

Esse ambiente é de acesso restrito à equipe de colaboradores da EximiaCo.

Trabalha na EximiaCo? Então conecte-se com sua conta: