Aggiornamento del numero di visualizzazioni di un video. Questo dovrebbe accadere lato client o lato server?

2

Ho creato un'app per iOS simile a Vine, in cui un utente può scorrere un feed di video che vengono riprodotti automaticamente. Tutti questi video hanno un campo View_Count nel back-end per tenere traccia di quante volte il video è stato visualizzato.

In questo momento il modo in cui l'ho impostato, non appena l'utente inizia a guardare il video, aumento il View_Count localmente sul loro telefono in modo che possano vederlo spuntare, e poi faccio una chiamata al server di back-end con i seguenti passaggi:

  • Richiedi l'oggetto video per afferrare il View_Count più recente (quello sul telefono dell'utente sarà diverso dal numero di persone che guardano questi video contemporaneamente)
  • Aumenta View_Count di 1.
  • Pubblica aggiornato View_Count sul server.

Sono principalmente un front end / iOS, quindi non sono sicuro che questa sia una supposizione corretta, ma ritengo che i passaggi sopra riportati NON dovrebbero accadere sul telefono dell'utente. Mi sembra che non si stia solo utilizzando troppo il piano dati dell'utente, ma anche il mio istinto mi dice che questo tipo di logica non dovrebbe essere sul lato client.

Sono corretto assumendo questo?

Tutti i nostri video sono archiviati su AWS utilizzando bucket s3 e sono accessibili tramite URL CDN. Mi sembra che ogni volta che si accede a un URL CDN s3 / Cloudfront, AWS esegua il ping del mio server e aumenti il View_Count di 1 per quel video, ma in realtà non ho nulla da togliere ma il mio istinto istintivo perché non ho mai fatto qualcosa come prima

Sono sulla buona strada con queste ipotesi, o mi sto avvicinando a questo nel modo sbagliato?

    
posta user3344977 27.06.2015 - 02:52
fonte

1 risposta

2

Lo scenario in sé: "un utente visualizza un video dovrebbe aumentare il numero di visualizzazioni" è un'attività lato client che provoca modifiche ai dati di back-end. Viene avviato dall'utente che utilizza l'app client, quindi è corretto inserire il codice che inizia e l'aumento del conteggio delle visualizzazioni nell'app client.

Tuttavia, ecco alcune altre / diverse idee da considerare:

  1. Continua a utilizzare il codice lato client per aumentare il numero di visualizzazioni, ma accoda queste azioni da qualche parte offline e sincronizzale solo periodicamente.

  2. Proxy l'URL effettivo del video con un URL che reindirizza al video effettivo e aumenta il conteggio delle visualizzazioni (qui il codice di back-end completo)

  3. Utilizza un CDN in grado di fornire la statistica del conteggio delle visualizzazioni fuori dalla scatola.

E sono sicuro che ci sono molte idee diverse là fuori.

    
risposta data 01.07.2015 - 01:05
fonte

Leggi altre domande sui tag