danielvarga / hunglish-webapp

Automatically exported from code.google.com/p/hunglish-webapp
0 stars 0 forks source link

turn the webapp into a distributed application #64

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Alapelv: Consumer-producer pattern. Vannak különböző feladatokhoz 
(párhuzamosítás, duplumszűrés, indexelés) rendelt dolgozók, akik 
időnként abbahagyják a cigizést, elvesznek a bal kezüknél levő kupacból 
valahány dolgot, feldolgozzák, és átrakják a jobb kezüknél levő 
kupacba. Elvileg teljesen leszarják, hogy más témák specialistái közben 
mit csinálnak, és általában azt is, hogy van-e olyan kollega, aki 
ugyanabból a kupacból vesz el, mint ők.

- upload: felhasználó interakció hatására lerak egy upload-ot. Akárhány 
futhat belőle egyszerre.
- harness: egy upload-ot vesz el, és egy doc-ot és sok bisen-t rak le. 
Akárhány futhat belőle egyszerre.
- duplumszűrő: elvesz valahány duplumszűretlen bimondatot (tipikusan az 
összeset), és átrakja őket a duplumszűrtek közé. Nem szereti, ha több 
fut belőle egyszerre.
- indexelő: elvesz valahány bimondatot, és lokális indexet épít 
belőlük. (Eddig akárhány futhatna belőle.) Aztán mergel a központi 
indexbe. (Na ebből meg tudtommal csak egy.)
- szavazó: felhasználó interakció hatására módosít egy bimondatot, majd 
átteszi az indexeltekből az újraindexelendőek közé.
- moderátor: felhasználó interakció hatására áttesz egy duplumszűrt 
jóváhagyatlan bimondatot az indexelendők közé. (Tervezett funkcionalitás.)

Eddig tartott az ideális architektúra leírása. Mi hiányzik ehhez? Nem 
annyira sok:
- Harnessen egy lényegtelen változtatás kell, hogy tudjon egyszerre kettő 
futni belőle.
- A duplumszűrő egybe van csomagolva a harness-szel. Leválasztandó, mert 
emiatt a csomagjuk is megörökli a duplumszűrőnek azt a korlátját, hogy 
csak egy futhat belőle.
- A duplumszűrő egy gagyi de szükséges optimalizálás miatt jelenleg nem 
tolerálja, ha újabb bimondatok érkeznek a harnesstől azalatt, amíg ő 
dolgozik.
- A harness és duplumszűrő feleslegesen összecsomagolt kötegére egy 
magasabb architekturális szinten még rá van barkácsolva az indexelő is: 
((harness duplumfilter) indexer). Na ez már végképp nem nagy ötlet, nincs 
is más oka, csak hogy így tudtuk leggyorsabban kipróbálni.
- Ki kell találni, hogy az egyes dolgozók milyen gyakran, és mekkora 
felhalmozódott munkamennyiség esetén aktiválják magukat. Nem triviális, 
mert a legtöbb munkás sokkal hatékonyabban dolgozik, ha kevés nagyobb 
köteget kap, mint ha sok kicsit.
- Alkalmas a jelenlegi ütemező ennek a menedzselésére, vagy egy komolyabb 
kell?
- Hiányzik továbbá maga a rendszergazdai része a dolognak, hogy az 
ütemező más gépeknek feladatokat tudjon kiosztani. Ez trivi, minden gép 
ugyanazt az adatbázist és fájlrendszert látja.

Original issue reported on code.google.com by Varga.Da...@gmail.com on 10 Apr 2011 at 8:36