Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Dicas para uma maior performance em APIs REST - Renato Groffe

101 views

Published on

Renato Groffe - Engenheiro de Software, Canal .NET

O que posso fazer em termos de bancos de dados para obter APIs que executem seu trabalho de forma otimizada e com maior velocidade?
Que soluções para cache podem ser empregadas? E que tal tratar os retornos destas APIs, reduzindo o volume dos dados trafegados?
E quanto a problemas de performance, o que utilizar para facilitar a detecção destes tipos de ocorrências? Acompanhe esta apresentação para obter respostas a estas questões durante o desenvolvimento de APIs REST.

Palestra realizada no InterCon 2018 - https://eventos.imasters.com.br/intercon

Published in: Software
  • Be the first to comment

  • Be the first to like this

Dicas para uma maior performance em APIs REST - Renato Groffe

  1. 1. • Microsoft Most Valuable Professional (MVP) • Multi-Plataform Technical Audience Contributor (MTAC) • Mais de 15 anos de experiência na área de Tecnologia • Autor Técnico e Palestrante • Um dos organizadores do Canal .NET e do .NET SP Renato Groffe h t t p s : / / m e d i u m . c o m / @ re n a t o . g rof f e /
  2. 2. APIs REST - Contexto Atual • REST como principal estilo arquitetural • Microserviços ganhando força • Economia das APIs • Escalabilidade, disponibilidade e performance são questões centrais
  3. 3. E como podemos obter mais performance? • Reduzindo o tamanho das respostas produzidas • Utilizando bancos de dados de forma mais racional • Monitoramento contínuo a fim de identificar gargalos
  4. 4. E como podemos obter mais performance? • Empregando cache • Evitando processamentos de longa duração • Escalando nossas APIs
  5. 5. Como reduzir o tamanho das respostas? • Removendo valores nulos • Utilizando técnicas de compressão
  6. 6. Remoção de valores nulos - Antes
  7. 7. Remoção de valores nulos - Depois
  8. 8. Remoção de valores nulos - Resultado
  9. 9. Compressão utilizando GZip
  10. 10. Compressão utilizando Brotli
  11. 11. Utilização mais racional de bancos de dados • Uso do suporte a JSON oferecido por bancos relacionais como SQL Server e PostgreSQL • Possibilidade de utilização de NoSQL • Empregar índices mediante análise prévia
  12. 12. Suporte a JSON em um banco relacional
  13. 13. Suporte a JSON em um banco relacional
  14. 14. Utilização de cache • O Redis é uma alternativa NoSQL interessante para cache e bastante performática
  15. 15. Monitoramento de APIs REST • Soluções como Azure Application Insights e New Relic representam uma excelente alternativa
  16. 16. Evitando processamentos de longa duração • Implementação do pattern Fire-and-forget • Soluções de mensageria como RabbitMQ podem ser uma resposta
  17. 17. Algumas alternativas para escalar uma API • Soluções do tipo PaaS (Platform as a Service) • Containers Docker em conjunto com orquestradores como Kubernetes
  18. 18. Referências – Performance em APIs REST: bit.ly/performance-apis-aspnet-core

×