Vai al contenuto principale

Come pianificare eventi di social data ad alto volume

I principali eventi nazionali e globali sono spesso accompagnati da forti picchi nell’attività degli utenti sulle piattaforme social. Talvolta questi eventi sono previsti, come il Super Bowl, le elezioni politiche e i festeggiamenti di Capodanno in tutto il mondo. Altre volte, i picchi di volume sono dovuti a eventi imprevisti, come disastri naturali, sviluppi politici non programmati, momenti di cultura pop o pandemie come il COVID‑19. Questi picchi di attività degli utenti possono talvolta essere di breve durata (nell’ordine dei secondi) oppure protrarsi per diversi minuti. Indipendentemente dalla loro origine, è importante considerare l’impatto che possono avere sulle applicazioni che consumano data da X. Ecco alcune best practice che aiuteranno il tuo team a prepararsi a eventi di social data ad alto volume.

Rivedi le regole correnti del tuo filtered stream

  • Alcune parole chiave possono avere picchi durante eventi ad alto volume, ad esempio le menzioni di un brand quando sponsorizza un grande evento sportivo.
  • Fai attenzione a evitare regole non necessarie o troppo generiche che potrebbero generare volumi di attività superflui.
  • Valuta di comunicare con i tuoi clienti prima di eventi notoriamente ad alto volume per aiutarli a pianificare in modo adeguato.  

Esegui uno stress test della tua applicazione

Considera che i picchi di traffico possono raggiungere 5-10 volte il consumo medio giornaliero. In base al set di regole, l’incremento potrebbe essere molto più elevato.

Comprendere i limiti di distribuzione per le connessioni

I limiti di flusso e di distribuzione si basano sui livelli di accesso. Questo comporta un volume statico di risultati recapitati per gli stream.
  • Academic: 250 Post/secondo
  • Enterprise: i Post/secondo sono definiti dal livello di accesso

Ottimizzare per restare connessi

Con gli stream, restare connessi è fondamentale per non perdere dati. La tua applicazione client dovrebbe saper rilevare una disconnessione e includere la logica per ritentare immediatamente la connessione, utilizzando un backoff esponenziale se il tentativo di riconnessione non va a buon fine.  

Aggiungi un buffering integrato lato tuo

Creare un’applicazione multithread è una strategia fondamentale per gestire stream ad alto volume. A livello generale, una best practice per gestire i stream di dati è mantenere un thread/processo separato che stabilisce la connessione di streaming e poi scrive le attività JSON ricevute in una struttura in memoria o in un buffered stream reader. Questo thread “leggero” di elaborazione dello stream è responsabile della gestione dei dati in ingresso, che possono essere mantenuti in buffer in memoria, crescendo o riducendosi secondo necessità. Poi un altro thread consuma tale flusso e si occupa del “lavoro pesante”: effettuare il parsing del JSON, preparare le scritture nel database o qualunque altra operazione necessaria alla tua applicazione.  

Eventi globali = fusi orari globali

Gli eventi possono verificarsi fuori dall’orario lavorativo o nel fine settimana, quindi assicurati che il tuo team sia pronto a gestire picchi al di fuori del normale orario di lavoro.
I