To Peer Networks
Assume we have one leader that propagates files.
[ ]
^
|
[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
Still, this is about 1.5 minutes, and this takes 10x more memory (40GB extra memory).
Sharding doesn't solve our problem either.
[ ]
^
|
[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
v v v v v v v v v v
[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
v v v v v v v v v v
[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
v v v v v v v v v v
[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]<->[ ]
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
v v v v v v v v v v
[ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ]
Now all of our nodes can communicate with each other.
Then, all the other files can talk to each other to get all the rest of the chunks needed to create the 5GB file.
Technologies used:
Open source project for P2P distribution.
Prev: leader-election Next: polling-and-streaming