Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Bij eens script dat elke minuut runt voor een paar regels is er geen probleem. Bij een seconde moeten we al gaan kijken of het elke keer volledig binnenkomt. Als we de data daadwerkelijk twintig keer per seconden op de website willen tonen moeten we het script elke 50ms laten runnen. Als we deze keuze maken moeten er een aantal dingen bijkomen. Allereerst komt de data op de database binnen, dan moeten we een script hebben dat alleen die data ophaalt , en geen andere data. Er zal dus moeten worden gekeken op ID of op tijd/timestamp. Ook deze data, de id of tijd die als laatste bekend is, moet ergens worden opgeslagen of onthouden worden door het systeem. Het kan ook nog zo zijn dat op het moment van ophalen het net iets langer duurt, en duurt en er al andere data in te komen is staan, en staan en je dus achterloopt of data overslaat. Tien regels in een table zal binnen een milliseconde verwerkt worden (afhangend van de hardware) maar miljoenen regels in honderden tabellen loopt al snel op. Dit zijn dingen die makkelijker zijn te voorkomen en te verwerken met gebruik van andere technieken. Het voordeel dat dit systeem heeft is dat het snel en makkelijk te implementeren is en wij allemaal de benodigdheden hebben om dit te doen. Een verbetering zou kunnen zijn om een stuk code te laten uitvoeren op het moment dat er een insert is op 1 table die de data ophaalt, alleen zal ook dit weer effect hebben op de snelheid van het systeem.

...

Long polling is een soort van opvolger , en in dit geval een betere, van polling. Long polling begint op dezelfde manier. Er wordt een request gestuurd naar de server vanaf de client. Hier is ook gelijk al te zien wat er beter is aan long polling ten opzichte van 'gewoon' polling. Bij polling wordt er een response gestuurd. Deze response is zo snel mogelijk, dus of met data, of er is geen nieuwe data. Long polling wacht tot er nieuwe data is. Is er nog geen data, dan ook geen response. Is er wel nieuwe data, dan krijg je ook de response. Zo snel als de response binnenkomt wordt er ook weer een nieuwe request gestuurd zodat de mogelijk nieuwe data weer zo snel mogelijk binnenkomt. Bij long polling is het echter wel zo dat een server soms denkt, of juist de client, dat de connection te lang open heeft gestaan , en deze gesloten wordt. Het gebruikt meer middelen dan bijvoorbeeld een websocket. Ook kan het zijn dat er meerdere poll requests open staan naar een server, en server en de volgorde van de berichten niet klopt.

...