1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
4 <title>Modi-Auswahl für YaCy</title>
5 <meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
9 <div class="para" id="header">
10 Die drei möglichen Modi für <a href="http://www.yacy.net"
11 target="_blank" rel="external" title="YaCy - Yet Another Cyberspace">YaCy</a>:
12 P2P, Robinson und Master-Slave (noch nicht vorhanden).
15 <div class="para" id="index">
18 <li><a href="#cap1">Aktuelle Modi von YaCy</a></li>
19 <li><a href="#cap2">Neuer Modus: Master-Slave</a></li>
20 <li><a href="#cap3">Was ist Master-Slave?</a></li>
21 <li><a href="#cap4">Wie soll dies in YaCy implementiert werden?</a></li>
22 <li><a href="#cap5">Und was für Vorteile hat der Modus?</a></li>
23 <li><a href="#cap6">Fazit</a></li>
24 <li><a href="#cap7">Weitere Ideen kurz gesammelt</a></li>
29 <li class="para" id="cap1">
31 <a name="cap1"></a>Aktuelle Modi von YaCy
34 Derzeit sind die folgenden Modi unter <a rel="local" target="_blank"
35 href="http://localpeer/ConfigNetwork_p.html" title="Direkt-Link zum lokalen Peer - Netzwerk-Konfiguration">Netzwerk-Konfiguration (*)</a>
38 <li>Peer-To-Peer Modus - Der Standart-Modus, alle Nodes sind gleich berechtigt.</li>
39 <li>Robinson Modus - Kleinere Cluster lassen sich an z.B. FreeWorld anbinden.</li>
42 Im Peer-To-Peer Modus kann DHT verteilt werden, in Robinson nicht. Damit muss
43 eine Node im P2P-Modus alles übernehmen, was anfällt, solange diese
44 Features eingeschaltet sind. Möchte man jedoch gute Crawls fahren, bedarf
45 dies wegen des Index viel RAM und Festplatte, somit nur High-End-Geräte und
46 keine "Otto-Normal-Geräte". Diese würden schlicht die Last
47 nicht standhalten können und unerreichbar werden. Auch ist ein
48 Nachrüsten erforderlich, da irgentwann die Festplatte bzw. der RAM voll
54 <li class="para" id="cap2">
56 <a name="cap2"></a>Neuer Modus: Master-Slave
59 Hinzukommen soll ein weiterer Netzwerk-Modus: Master-Slave.
63 <li class="para" id="cap3">
65 <a name="cap3"></a>Was ist Master-Slave?
68 Ein Master-Slave-Konstrukt sieht meistens vereinfacht dargestellt wie folgt aus:
70 <li>Es gibt einen oder zwei Master, wobei einer als "Backup-Master"
71 dienen kann. Es geht aber auch nur mit einem Master. Der Master verwaltet nur
73 <li>Es gibt mindestens einen Slave (besser mehr), die den Master-Nodes unstellt
74 sind. Die Slaves übernehmen die eigentliche Arbeit.</li>
79 <li class="para" id="cap4">
81 <a name="cap4"></a>Wie soll dies in YaCy implementiert werden?
84 Der Master soll in <a href="http://www.yacy.net" rel="external" target="_blank"
85 title="YaCy - Yet Another Cyberspace">YaCy</a> wie folgt implementiert werden:
87 <li>Er übernimmt die Aufgabe als Front-End gegenüber z.B. Freeworld.</li>
88 <li>Er nimmt daher Remote-Crawls nur an und verteilt sie an die Slaves zum Crawlen.</li>
89 <li>Auch eigene (lokale) Crawls werden auf ihm gestartet und an die Slaves verteilt.</li>
90 <li>Der Master verwaltet die DHT, die von den Slaves zusammengestellt werden.</li>
91 <li>Auch als Proxy fungiert der Master.</li>
92 <li>Er verwaltet die Blacklisten, die Slaves erhalten damit nur Seiten, die
93 nicht gesperrt sind und brauchen sich darum nicht kümmern.</li>
96 Zur Verdeutlichung, hier ein typischer Beispielablauf:
98 <li>Auf dem Master wird ein lokaler Crawl gestartet z.B. durch einen Startpunkt,
99 Surrogate, Proxy-Aufruf und so weiter.</li>
100 <li>Dieser wird an die ihm bekannten Slaves verteilt, dabei achtet der Master
101 darauf, dass keine zwei Slaves die selbe URL crawlen.</li>
102 <li>Es wird dabei auch eine Crawl-Tiefe mit übergeben, damit der Master
103 sich darum nicht kümmern muss.</li>
104 <li>Die Slaves indexieren auch sofort die Seiten und erstellen den Index samt DHT.</li>
105 <li>Haben die Slaves den Crawl-Auftrag erledigt, oder es ist eine Queue
106 vollgelaufen, so wird dieser Index bei den Slaves gehostet und die DHT an den
108 <li>Dem Master ist somit bekannt, welchen Slave er anfragen muss, damit dieser
109 das Ergebnis über den Master an z.B. Freeworld ausliefern kann.</li>
110 <li>Ein Durchreichen über den Master muss stattfinden, da die Slaves andere
111 IDs besitzen als der Master.</li>
114 Im Admin-Interface soll unter <a href="http://localpeer/ConfigNetwork_p.html"
115 rel="local" target="_blank" title="Direkt-Link zum lokalen Peer - Netzwerk-Konfiguration">Netzwerk-Konfiguration (*)</a>
116 der Master-Slave-Modus eingebaut werden und könnte wie folgt aussehen:
120 <li>Node-Namen aller Slaves, kommaseperaiert.</li>
121 <li>Node-Namen anderer Master-Nodes als "Backup-Master" bei starker Last.</li>
126 <li>Node-Name des Masters (= oeffentlicher Name des Master-Slave-Clusters).</li>
127 <li>Als Indexer, Crawler oder beides zusammen agieren; letzteres nur für
128 leistungsstarke Systeme geeignet.</li>
129 <li>Remote-Crawls vom Master vermittelt annehmen: Ja/Nein.</li>
135 Die globale, maximale PPM soll dabei auf die Slaves aufgeteilt werden. Also sehr
136 einfach gerechnet: Maximale PPM geteilt durch Anzahl konfigurierter Slaves.
141 <li class="para" id="cap5">
143 <a name="cap5"></a>Und was für Vorteile hat der Modus?
145 <div class="content">
146 Der Master-Slave-Modus hat dabei diese Vorteile:
148 <li>Die einzelne Node - egal ob Master oder Slave - muss sich nicht um alles
149 kümmern, da dies an den Master bzw. an die Slaves verteilt ist.</li>
150 <li>Es können daher sehr starke Crawls (>1300 PPM sind theoretisch mit
151 einer DSL 6.000-Leitung möglich).</li>
152 <li>Auch selbst bei dieser sehr hohen Last bleibt der Master gut erreichbar,
153 da er selber nicht crawlt.</li>
154 <li>Die Master-Nodes können externe Nodes sich gegenseitig verweisen,
155 falls diese überlastet sind.</li>
160 <li class="para" id="cap6">
162 <a name="cap6"></a>Fazit
164 <div class="content">
166 Das gesamt <a href="http://www.yacy.net" rel="external" target="_blank" title="YaCy - Yet Another Cyberspace">YaCy</a>-Netz (Freeworld) wird stabiler und schnell, da die Master-Nodes schneller Anfragen annehemne können und die Slaves diese ausliefern können. Die User müssen keine High-End-Server sich kaufen, damit sie gute Crawl-Ergebnisse erhalten. Daher können selbst ältere Computer mit dem Master-Slave-Modus dennoch sich gross an Freeworld beteiligen.
169 Die User können mit einfachen Schritten einen guten YaCy-Cluster errichten und brauchen nicht ewig lang ausprobieren.
174 <li class="para" id="cap7">
176 <a name="cap7"></a>Weitere Ideen kurz gesammelt
178 <div class="content">
179 Die Slaves könnten auch selber die Ergebnisse an Freeworld ausliefern. Bei einer lokalen Suche muss der Master dies an den User schicken. Wegen der Backup-Nodes müsste vermutlich eine Unterstützung in <a href="http://www.yacy.net" rel="external" target="_blank" title="YaCy - Yet Another Cyberspace">YaCy</a> implementiert werden. Die bereits vorhandenen Timeouts sollen weiterhin als Fallback bestehen bleiben.
185 <div class="para" id="note">
186 (*): Damit dieser Link funktioniert, muss <a href="http://www.yacy.net" rel="external" target="_blank" title="YaCy - Yet Another Cyberspace">YaCy</a> als Proxy konfiguriert sein!
189 <div id="lastchange">
190 Version: 1.2, letzte Änderung: 03.09.2009, Copyright © 2009, by Roland
191 Häder, <a href="http://www.mxchange.org/yacy-modi.html" rel="external"
192 target="_blank" title="Link zur Original-Seite">Link zur Original-Seite</a>.
196 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/de/"
197 target="_blank" title="Creative Commons Attribution-Noncommercial-Share Alike 3.0 Germany License"><img
198 alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-nc-sa/3.0/de/88x31.png" /></a><br />
199 Dieser <a xmlns:dc="http://purl.org/dc/elements/1.1/" target="_blank"
200 href="http://purl.org/dc/dcmitype/Text" rel="dc:type">Text</a> ist mit einer
201 <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/de/"
202 target="_blank" title="Creative Commons Attribution-Noncommercial-Share Alike 3.0 Germany License">Creative Commons Attribution-Noncommercial-Share Alike 3.0 Germany License</a>
206 <a href="http://validator.w3.org/check?uri=referer" rel="external" target="_blank"
207 title="Valid XHTML 1.0 Transitional"><img alt="Valid XHTML 1.0 Transitional!"
208 style="border-width:0px;height:31px;width:88px"
209 src="http://www.w3.org/Icons/valid-xhtml10" /></a>
210 <a href="http://jigsaw.w3.org/css-validator/check/referer" rel="external"
211 title="Valid CSS" target="_blank"><img style="border:0;width:88px;height:31px"
212 src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" />