Pular para o conteúdo principal

Como planejar eventos de dados sociais em alto volume

Grandes eventos nacionais e globais geralmente são acompanhados por picos acentuados na atividade de usuários em plataformas de mídia social. Às vezes, esses eventos são previstos, como o Super Bowl, eleições e celebrações de Ano-Novo ao redor do mundo. Em outras ocasiões, os picos de volume decorrem de acontecimentos inesperados, como desastres naturais, eventos políticos não planejados, momentos da cultura pop ou pandemias como a COVID-19. Esses aumentos de atividade dos usuários podem, por vezes, ser de curta duração (medidos em segundos) ou se manter por vários minutos. Independentemente de sua origem, é importante considerar o impacto que podem ter em aplicações que consomem dados da X. A seguir estão algumas práticas recomendadas para ajudar sua equipe a se preparar para eventos de dados sociais em alto volume.

Revise suas regras atuais do stream filtrado

  • Algumas palavras-chave podem explodir durante eventos de alto volume, como menções a marcas quando uma marca patrocina um grande evento esportivo.
  • Evite regras desnecessárias ou genéricas demais que possam gerar volume de atividade supérfluo.
  • Considere comunicar-se com seus clientes antes de eventos previsivelmente movimentados para ajudá-los a se planejar adequadamente.  

Faça testes de estresse na sua aplicação

Considere que picos de volume podem chegar a 5–10 vezes o consumo médio diário. Dependendo do seu conjunto de regras, o aumento pode ser muito maior.

Entenda os limites de entrega para conexões

Os limites de fluxo e entrega são baseados nos níveis de acesso. Isso resulta em um volume fixo de resultados entregues em streams.
  • Academic: 250 Posts/segundo
  • Enterprise: Posts/segundo definido pelo nível de acesso

Otimize para manter a conexão

Com streams, manter-se conectado é essencial para não perder data. Seu aplicativo cliente deve conseguir detectar uma desconexão e implementar lógica para tentar reconectar imediatamente, usando backoff exponencial se a tentativa de reconexão falhar.  

Adicione buffering integrado do seu lado

Criar uma aplicação multithread é uma estratégia fundamental para lidar com streams de alto volume. Em um nível geral, uma prática recomendada para gerenciar streams de dados é ter uma thread/processo separado que estabeleça a conexão de streaming e grave as atividades JSON recebidas em uma estrutura de memória ou em um leitor de stream com buffer. Essa thread “leve” de processamento de stream é responsável por lidar com os dados de entrada, que podem ser armazenados em buffer na memória, crescendo ou encolhendo conforme necessário. Em seguida, uma thread diferente consome esse hash e faz o “trabalho pesado” de analisar o JSON, preparar gravações no banco de dados ou o que mais sua aplicação precisar fazer.  

Eventos globais = fusos horários globais

Os eventos podem ocorrer fora do horário comercial ou nos fins de semana, portanto, certifique-se de que sua equipe esteja preparada para lidar com picos fora do horário comercial normal.
I