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?