ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-MP/MP/Intro.pod
(Generate patch)

Comparing AnyEvent-MP/MP/Intro.pod (file contents):
Revision 1.53 by root, Wed Mar 21 01:36:59 2012 UTC vs.
Revision 1.54 by root, Wed Mar 21 23:48:39 2012 UTC

276seeds without any issues. You could even specify all nodes as seeds for 276seeds without any issues. You could even specify all nodes as seeds for
277all nodes, for total redundancy. But the common case is to have some more 277all nodes, for total redundancy. But the common case is to have some more
278or less central, stable servers running seed services for other nodes. 278or less central, stable servers running seed services for other nodes.
279 279
280All you need to do to ensure that an AnyEvent::MP network connects 280All you need to do to ensure that an AnyEvent::MP network connects
281together is to make sure that all connections from nodes to their seed 281together is to make sure that all seed nodes are connected together via
282nodes I<somehow> span the whole network. The simplest way to do that would 282their seed connections, i.e., all connections from seed nodes to I<their>
283be for all nodes to specify a single node as seed node, and you would get 283seed nodes form a connected graph. It's not necessary (but common) for a
284a star topology. If you specify all nodes as seed nodes, you get a fully 284seed node to list all other seed nodes as seeds. The rest of the nodes in
285meshed network (that's what previous releases of AnyEvent::MP actually 285the network simply specify one or more of the seed nodes in their seed
286did). 286list.
287
288The simplest way to do that would be for all nodes to specify a single
289node as seed node, and you would get a star topology. If you specify all
290nodes as seed nodes, you get a fully meshed network (that's what previous
291releases of AnyEvent::MP actually did).
287 292
288A node tries to keep connections open to all of it's seed nodes at all 293A node tries to keep connections open to all of it's seed nodes at all
289times, while other connections are made on demand only. 294times, while other connections are made on demand only.
290 295
291All of this ensures that the network stays one network - even if all the 296All of this ensures that the network stays one network - even if all the
292nodes in one half of the net are separated from the nodes in the other 297nodes in one half of the net are separated from the nodes in the other
293half by some network problem, once that is over, they will eventually 298half by some network problem, once that is over, they will eventually
294become a single network again. 299become a single network again.
295 300
296In addition to creating the network, a node also expects the seed nodes to 301In addition to creating the network, a node also expects the seed nodes to
297run the shared database service - if need be, by automatically starting it, 302run the shared database service - if need be, by automatically starting
298so you don't normally need to configure this explicitly. 303it, so you don't normally need to configure this explicitly.
299 304
300#TODO# later?#d#
301The process of joining a network takes time, during which the node 305The process of joining a network takes time, during which the node
302is already running. This means it takes time until the node is 306is already running. This means it takes time until the node is
303fully connected, and information about services in the network are 307fully connected, and information about services in the network are
304available. This is why most AnyEvent::MP programs start by waiting a while 308available. This is why most AnyEvent::MP programs either just register
305until the information they need is available. 309themselves in the database and wait to be "found" by others, or they start
310to monitor the database until some nodes of the required type show up.
306 311
307We will see how this is done later, in the sender program. 312We will see how this is done later, in the sender program.
308 313
309=head3 Registering the Receiver 314=head3 Registering the Receiver
310 315

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines