Kom ihåg mig?

Asynkrona anrop - nackdelar?

Ämnesverktyg Visningsalternativ
Oläst 2009-04-21, 11:05 #1
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
peterbf peterbf är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 48
Zupp fellas!

Jag jobbar just nu med ett projekt just nu där vi har text på förstasidan likt:

Du har 3 nya gästboksinlägg.
Du har 28 nya vänförfrågningar.

Det jag gör i dagsläget är att genom JavaScript anropa en metod som i sin tur hämtar JSON-data från en Generic Handler och sedan kollar om man har nya gästboksinlägg eller vänförfrågningar.

Min fråga till er är:

Var går gränsen? Hur många anrop ska man köra och hur ofta som max? Detta projekt kommer att ha väldigt, väldigt många medlemmar inom kort och därför vill jag veta detta nu innan man ökar mängden asynkrona anrop.

Peace.
peterbf är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-21, 12:42 #2
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Perben Perben är inte uppkopplad
Flitig postare
 
Reg.datum: Apr 2009
Inlägg: 393
Det låter väl som en typisk funktion som inte behöver vara i strikt realtid. Brukar vara en bra tumregel att periodiskt cacha upp sådan information med jämna intervall, t.ex att man pollar nya meddelanden en gång i minuten eller så. Beror förstås på vad du har för möjligheter på backenden, men direktanrop till databas utan cachning för välbesökta framsidor brukar inte vara någon bra idé.
Perben är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-21, 13:24 #3
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Läs om Comet och dess olika tekniker.
Kommer projektet ha väldigt många medlemmar så är det dessutom aktuellt att ha en dedikerad server för just stream-delen.
eliasson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-22, 17:57 #4
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
danjel danjel är inte uppkopplad
Medlem
 
Reg.datum: Nov 2003
Inlägg: 214
En tanke att vid skapande av tex gästboksinlägg så uppdateras en statustabell med just denna information

tabellstruktur:
user_id, new_guestbooks, new_friendrequest

Sedan körs ett cronjobb 1 gång per minut som läser in denna info i en minnescache,
då slipper man för mycket I/O operationer och db uppslag..

Inte helt klockrent men har använt den tekniken med gott resultat..
danjel är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-23, 13:27 #5
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
eliasson eliasson är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2005
Inlägg: 1 863
Citat:
Originally posted by danjel@Apr 22 2009, 14:57
tabellstruktur:
user_id, new_guestbooks, new_friendrequest
En effektiv metod är att skapa en "stream"-tabell vars syfte är endast att distribuera händelser via en stream. Precis som ovanstående talare så läser du av cache istället för köra massa SQL-queries vid varje förfrågan, och har en bakgrundsprocess som läser av stream-tabellen, och modifierar cache som då snappas upp av klientens stream (long polling).

Lycka till.
eliasson är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 17:23.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017