Abbiamo un servizio che basato su un timer locale fa una richiesta GET al nostro server su Azure per trasmettere alcune informazioni da salvare sul server. In questa fase stiamo solo testando e stiamo scoprendo che alcuni dei client si stanno sincronizzando in modo da colpire il server allo stesso tempo. Questo sembra essere causato da ritardi all'interno dell'infrastruttura azzurra (lunga storia dietro quella), ad esempio il database non è disponibile per un minuto o così. Questo fa sì che i client si sincronizzino.
Quindi la risposta ovvia per noi è introdurre un po 'di casualità nel timer dei client per assicurare una distribuzione ragionevolmente uniforme sul nostro server dato che il problema è quando andiamo a vivere ucciderà il nostro server se molti client sono sincronizzati.
Quanta casualità è richiesta per assicurare una distribuzione uniforme? La ricerca aumenta i lotti sulla sincronizzazione (specialmente java) ma non i suggerimenti sull'anti-sincronizzazione.
La domanda si presenta in due forme: a) Qual è la terminologia corretta per questo problema in modo che possa trovare i termini del dominio giusto per ottenere la teoria dietro questo > b) Suggerimenti su come definire la quantità di casualità diversa dalla semplice ipotesi e impostazione di elaborati test ed errori.
Qualsiasi aiuto apprezzato.