[ Lazar-I @ 15.02.2005. 20:37 ] @
Skinuo sam sa neta knjigu "UNIX® Network Programming", na žalost nisam još pročitao celu. U njoj su dobro objašnjene različite alternative dizajna klijent server aplikacije, a kao primer je dat web server. Web server usluži klijenta i prekida vezu s njim, thread ili proces iz pool-a koji ga je uslužio odlazi na spavanje i spava sve dok se ne pojavi sledeći klijent. Kako bi izgledalo dobro rešenje za server koji treba da opslužuje veliki broj klijenata koji međusobno razmenjuju veliki broj kratkih poruka (neka je saobraćaj intenzivan, veći nego na IRC serveru) pri čemu moraju svo vreme da budu povezani sa serverom? Da li treba da za svakog klijenta postoji poseban thread koji će preuzimati ulaz od njega? Ako imam server koji ima ograničenje da može prihvatiti najviše 1000 klijenata, da li treba da napravim pool sa 1000 niti? Koliko su skupe niti koje spavaju ? Mogle bi se praviti u grupama po potrebi ali zar to ne vraća stvari na pravljenje novih niti pri prijavljivanju klijenta ? |