]> git.mxchange.org Git - mailer.git/blob - yacy-modi.html
Added local files.
[mailer.git] / yacy-modi.html
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">
3 <head>
4 <title>Modi-Auswahl f&uuml;r YaCy</title>
5 <meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
6 </head>
7 <body>
8
9 <div class="para" id="header">
10 Die drei m&ouml;glichen Modi f&uuml;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).
13 </div>
14
15 <div class="para" id="index">
16 Inhaltsverzeichnis:
17 <ol>
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&uuml;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>
25 </ol>
26 </div>
27
28 <ol>
29 <li class="para" id="cap1">
30 <div class="header">
31 <a name="cap1"></a>Aktuelle Modi von YaCy
32 </div>
33 <div class="content">
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>
36 verf&uuml;gbar:
37 <ol>
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>
40 </ol>
41 <div class="para">
42 Im Peer-To-Peer Modus kann DHT verteilt werden, in Robinson nicht. Damit muss
43 eine Node im P2P-Modus alles &uuml;bernehmen, was anf&auml;llt, solange diese
44 Features eingeschaltet sind. M&ouml;chte man jedoch gute Crawls fahren, bedarf
45 dies wegen des Index viel RAM und Festplatte, somit nur High-End-Ger&auml;te und
46 keine &quot;Otto-Normal-Ger&auml;te&quot;. Diese w&uuml;rden schlicht die Last
47 nicht standhalten k&ouml;nnen und unerreichbar werden. Auch ist ein
48 Nachr&uuml;sten erforderlich, da irgentwann die Festplatte bzw. der RAM voll
49 sind.
50 </div>
51 </div>
52 </li>
53
54 <li class="para" id="cap2">
55 <div class="header">
56 <a name="cap2"></a>Neuer Modus: Master-Slave
57 </div>
58 <div class="content">
59 Hinzukommen soll ein weiterer Netzwerk-Modus: Master-Slave.
60 </div>
61 </li>
62
63 <li class="para" id="cap3">
64 <div class="header">
65 <a name="cap3"></a>Was ist Master-Slave?
66 </div>
67 <div class="content">
68 Ein Master-Slave-Konstrukt sieht meistens vereinfacht dargestellt wie folgt aus:
69 <ul>
70 <li>Es gibt einen oder zwei Master, wobei einer als &quot;Backup-Master&quot;
71 dienen kann. Es geht aber auch nur mit einem Master. Der Master verwaltet nur
72 die Slaves.</li>
73 <li>Es gibt mindestens einen Slave (besser mehr), die den Master-Nodes unstellt
74 sind. Die Slaves &uuml;bernehmen die eigentliche Arbeit.</li>
75 </ul>
76 </div>
77 </li>
78
79 <li class="para" id="cap4">
80 <div class="header">
81 <a name="cap4"></a>Wie soll dies in YaCy implementiert werden?
82 </div>
83 <div class="content">
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:
86 <ul>
87 <li>Er &uuml;bernimmt die Aufgabe als Front-End gegen&uuml;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&uuml;mmern.</li>
94 </ul>
95
96 Zur Verdeutlichung, hier ein typischer Beispielablauf:
97 <ol>
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 &uuml;bergeben, damit der Master
103 sich darum nicht k&uuml;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
107 Master gesandt.</li>
108 <li>Dem Master ist somit bekannt, welchen Slave er anfragen muss, damit dieser
109 das Ergebnis &uuml;ber den Master an z.B. Freeworld ausliefern kann.</li>
110 <li>Ein Durchreichen &uuml;ber den Master muss stattfinden, da die Slaves andere
111 IDs besitzen als der Master.</li>
112 </ol>
113
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&ouml;nnte wie folgt aussehen:
117 <ul>
118 <li>Als Master:
119 <ul>
120 <li>Node-Namen aller Slaves, kommaseperaiert.</li>
121 <li>Node-Namen anderer Master-Nodes als &quot;Backup-Master&quot; bei starker Last.</li>
122 </ul>
123 </li>
124 <li>Als Slave:
125 <ul>
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&uuml;r
128 leistungsstarke Systeme geeignet.</li>
129 <li>Remote-Crawls vom Master vermittelt annehmen: Ja/Nein.</li>
130 </ul>
131 </li>
132 </ul>
133
134 <div class="para">
135 Die globale, maximale PPM soll dabei auf die Slaves aufgeteilt werden. Also sehr
136 einfach gerechnet: Maximale PPM geteilt durch Anzahl konfigurierter Slaves.
137 </div>
138 </div>
139 </li>
140
141 <li class="para" id="cap5">
142 <div class="header">
143 <a name="cap5"></a>Und was f&uuml;r Vorteile hat der Modus?
144 </div>
145 <div class="content">
146 Der Master-Slave-Modus hat dabei diese Vorteile:
147 <ol>
148 <li>Die einzelne Node - egal ob Master oder Slave - muss sich nicht um alles
149 k&uuml;mmern, da dies an den Master bzw. an die Slaves verteilt ist.</li>
150 <li>Es k&ouml;nnen daher sehr starke Crawls (>1300 PPM sind theoretisch mit
151 einer DSL 6.000-Leitung m&ouml;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&ouml;nnen externe Nodes sich gegenseitig verweisen,
155 falls diese &uuml;berlastet sind.</li>
156 </ol>
157 </div>
158 </li>
159
160 <li class="para" id="cap6">
161 <div class="header">
162 <a name="cap6"></a>Fazit
163 </div>
164 <div class="content">
165 <div class="para">
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&ouml;nnen und die Slaves diese ausliefern k&ouml;nnen. Die User m&uuml;ssen keine High-End-Server sich kaufen, damit sie gute Crawl-Ergebnisse erhalten. Daher k&ouml;nnen selbst &auml;ltere Computer mit dem Master-Slave-Modus dennoch sich gross an Freeworld beteiligen.
167 </div>
168 <div class="para">
169 Die User k&ouml;nnen mit einfachen Schritten einen guten YaCy-Cluster errichten und brauchen nicht ewig lang ausprobieren.
170 </div>
171 </div>
172 </li>
173
174 <li class="para" id="cap7">
175 <div class="header">
176 <a name="cap7"></a>Weitere Ideen kurz gesammelt
177 </div>
178 <div class="content">
179 Die Slaves k&ouml;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&uuml;sste vermutlich eine Unterst&uuml;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.
180 </div>
181 </li>
182
183 </ol>
184
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!
187 </div>
188
189 <div id="lastchange">
190 Version: 1.2, letzte &Auml;nderung: 03.09.2009, Copyright &copy; 2009, by Roland
191 H&auml;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>.
193 </div>
194
195 <div id="license">
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>
203 lizensiert.
204 </div>
205 <div class="para">
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!" />
213 </a>
214 </div>
215   
216 </body>
217 </html>
218