Como Dominar Flows e Coroutines em Kotlin sem Sufocar seus Servidores

Aprenda como evitar DDoS em seus servidores ao trabalhar com Flows e Coroutines em Kotlin. Descubra os erros comuns e como corrigi-los!

Como Dominar Flows e Coroutines em Kotlin sem Sufocar seus Servidores
No items found.

No mundo da tecnologia, não basta criar algo que funcione, é preciso garantir que funcione bem mesmo quando muita gente estiver usando ao mesmo tempo.

Recentemente, vivemos uma situação que mostrou isso na prática. Nossa equipe lançou um novo recurso para enviar notificações em tempo real aos usuários. O código tinha passado por todas as revisões, funcionava perfeitamente nos testes e estávamos muito confiantes.

Mas, quando colocamos em produçao, aconteceu o inesperado: ao mesmo tempo em que milhares de pessoas reais começaram a usar o sistema, sofremos também um ataque cibernético chamado DDoS (quando hackers lotam os servidores com acessos falsos para derrubá-los).

O resultado? Em vez de só resistirmos ao ataque extrno, nós mesmos acabamos sobrecarregando nossos servidores sem perceber. Era como se tivéssemos aberto todas as torneiras de uma casa ao mesmo tempo: a água acabou rapidinho e a estrutura quase não aguentou.

O problema estava em um detalhe sutil da programação: a forma como lidávamos com conexões e interrupções. Pequenas diferenças no código faziam toda a diferença entre um sistema estável e um que consumia recursos sem parar.

O que aprendemos?

  1. Testes de verdade — não basta simular, é preciso testar o sistema sob condições reais de uso intenso.
  2. Controle de recursos — em sistemas que funcionam em tempo real, cada conexão precisa ser bem gerenciada.
  3. Detalhes importam — uma linha de código aparentemente simples pode ser a diferença entre estabilidade e colapso.

Depois de corrigirmos isso, nossos servidores conseguiram suportar o ataque sem problemas.

Moral da história: em tecnologia, “funcionar” e “funcionar de verdade” são coisas bem diferentes.

Tecnologia simplica.

Aprenda como fazemos em nossa newsletter, a Flowletter.

Realizar inscrição

Mais artigos