Desempenho de Aplicações Go (Golang): Otimização, Perfilamento e Sistemas de Alta Carga
300 páginas
Portuguese
PDF
4.5

Desempenho de Aplicações Go (Golang): Otimização, Perfilamento e Sistemas de Alta Carga

Desempenho de Aplicações Go (Golang): Otimização, Perfilamento e Sistemas de Alta Carga

Autor:

Ano:

Resumo:

Este livro é um guia prático para criar aplicações rápidas, eficientes e escaláveis na linguagem Go (Golang). Ele é destinado a desenvolvedores que já conhecem os fundamentos da linguagem e desejam avançar para o próximo nível, aprendendo a extrair o máximo de cada núcleo de processador e cada byte de memória.



Ao contrário da maioria dos livros didáticos, que ensinam apenas a escrever código, este livro foca em medir e melhorar o desempenho. Você não apenas aprenderá conceitos teóricos — aprenderá a usar ferramentas profissionais de perfilamento e depuração que engenheiros do Google, Uber e outros gigantes da tecnologia utilizam.



O que você aprenderá neste livro:

  • Perfilamento de CPU e memória: Como encontrar gargalos usando pprof, flame graphs e análise de trace. Você aprenderá a ler perfis e entender qual código está lento.
  • Otimização do trabalho com o coletor de lixo (GC): Como reduzir a carga no GC, diminuir pausas e evitar o "stop-the-world". Estratégias de gerenciamento de alocações e pools de objetos.
  • Concorrência e goroutines: Uso eficiente de canais, mutexes e operações atômicas. Como evitar condições de corrida, deadlocks e "vazamento" de goroutines.
  • Benchmarks e testes de desempenho: Como escrever benchmarks corretos, comparar implementações e evitar erros nas medições.
  • Trabalho com memória e cache: Otimização de estruturas de dados, alinhamento de campos em structs, uso de slices e maps sem alocações desnecessárias.
  • Operações de rede e I/O: Configuração de servidores HTTP, trabalho com bancos de dados, serialização eficiente (protobuf, msgpack) e minimização de latência.


Para quem é este livro:

  • Desenvolvedores Go com experiência de 1 ano ou mais, que desejam escrever código rápido para projetos de alta carga.
  • Engenheiros DevOps e SRE, que precisam entender como as aplicações Go funcionam sob carga.
  • Líderes técnicos, que tomam decisões sobre arquitetura de microsserviços.
  • Desenvolvedores migrando de outras linguagens (Python, Java, C++) e que desejam dominar as especificidades da otimização em Go.


O livro é estruturado do simples ao complexo: desde benchmarks básicos até a análise profunda do funcionamento do runtime Go. Cada capítulo contém exemplos reais de código que podem ser aplicados imediatamente em seus projetos. Você aprenderá não apenas a acelerar aplicações existentes, mas também a projetar novos sistemas com desempenho em mente desde o início.



Após ler este livro, você será capaz de:

  • Reduzir o tempo de resposta da API em 2-3 vezes sem alterar a arquitetura.
  • Diminuir o consumo de memória em 40-60% através da otimização de estruturas de dados.
  • Escrever código que utiliza eficientemente processadores multi-core.
  • Perfilar com confiança aplicações em produção sem queda de desempenho.


Este não é um guia de sintaxe — é uma ferramenta para aqueles que desejam que suas aplicações Go voem. Adequado para as versões Go 1.20 e superiores.

Recommendations