Dag allen,
Momenteel werk ik aan een Javascript applicatie (PHP back-end) waarin diverse modules aan de gebruiker worden getoond. De modules bestaan uit DIV elementen, die d.m.v. AJAX requests gevuld worden. Tot dusver geen problemen, alles werkt naar behoren.
Echter, de data die getoond wordt is vrij dynamisch. Soms kan de data meerdere malen per minuut wijzigen (in de database), maar dit hangt af van vele factoren. Het kan ook voorkomen dat er tientallen minuten niets wijzigt.
Het is van belang dat de data die getoond wordt zo up-to-date mogelijk is.
Een client-side georiënteerde oplossing is het maken van een nieuwe request voor iedere afzonderlijke module, iedere n-seconden (statische interval). Echter, als de data tientallen minuten niet wijzigt, is dat niet nodig. Daar komt bij dat als er vele gebruikers zijn, die ieder laat-zeggen 6 modules open hebben staan, het aantal requests noemenswaardig zal zijn.
Ik heb tevens gedacht aan het periodiek (iedere n-seconden) versturen van 1 request, waarbij gecontroleerd wordt of er nieuwe data beschikbaar is voor een van de geopende modules. Als dat het geval is, pas dan wordt de relevante module daadwerkelijk opnieuw geladen (na de initiële 'pilot' request).
En de laatste oplossing, waarover graag jullie mening, is een server-side georiënteerde oplossing: het laten draaien van een service (PHP, Nodejs) die met bepaalde regelmaat controleert of er nieuwe data aanwezig is. De service triggered in het geval van nieuwe data een event dat wordt opgepikt door de client side applicaties, die luisteren naar dat event.
Hebben jullie ervaring met dit probleem?
Wellicht zit ik op een verkeerd spoor
Momenteel werk ik aan een Javascript applicatie (PHP back-end) waarin diverse modules aan de gebruiker worden getoond. De modules bestaan uit DIV elementen, die d.m.v. AJAX requests gevuld worden. Tot dusver geen problemen, alles werkt naar behoren.
Echter, de data die getoond wordt is vrij dynamisch. Soms kan de data meerdere malen per minuut wijzigen (in de database), maar dit hangt af van vele factoren. Het kan ook voorkomen dat er tientallen minuten niets wijzigt.
Het is van belang dat de data die getoond wordt zo up-to-date mogelijk is.
Een client-side georiënteerde oplossing is het maken van een nieuwe request voor iedere afzonderlijke module, iedere n-seconden (statische interval). Echter, als de data tientallen minuten niet wijzigt, is dat niet nodig. Daar komt bij dat als er vele gebruikers zijn, die ieder laat-zeggen 6 modules open hebben staan, het aantal requests noemenswaardig zal zijn.
Ik heb tevens gedacht aan het periodiek (iedere n-seconden) versturen van 1 request, waarbij gecontroleerd wordt of er nieuwe data beschikbaar is voor een van de geopende modules. Als dat het geval is, pas dan wordt de relevante module daadwerkelijk opnieuw geladen (na de initiële 'pilot' request).
En de laatste oplossing, waarover graag jullie mening, is een server-side georiënteerde oplossing: het laten draaien van een service (PHP, Nodejs) die met bepaalde regelmaat controleert of er nieuwe data aanwezig is. De service triggered in het geval van nieuwe data een event dat wordt opgepikt door de client side applicaties, die luisteren naar dat event.
Hebben jullie ervaring met dit probleem?
Wellicht zit ik op een verkeerd spoor