Please provide more context. What's is distributed in your scheme: the data and/or the server-side computation? Are you opposed to performing complex operations solely on the client?
It wont be very complex in terms of computing. Storage and bandwidth will be an issue because it's basically an image sharing site on steroids (various media types (gifs, short videos, text) interactive posts, some real-time twitter like feed & comments).
I've had a look at Diaspora [0] and ViralJS [1], a P2P CDN and I think I might go down that route.
For lack of a better term, this is an 'emerging' field, so I don't know if best practices (in terms of architecture) apply (yet).
In addition to Diaspora, have a look at GitTorrent [1], which uses the BitTorrent DHT for data storage, git as a data interface, and the bitcoin blockchain for verified identities. You can also draw inspiration from IFPS [2]. There is also a curated list [3] of resources or technologies useable to build p2p systems, including these and many other projects and libraries.
It sounds like the wrong question or a solution looking for a problem. Are you already hitting traffic that can't be handled by big servers? Do you actually have a problem?
10 comments
[ 5.1 ms ] story [ 44.1 ms ] threadI've had a look at Diaspora [0] and ViralJS [1], a P2P CDN and I think I might go down that route.
Do you have any suggestions?
0: https://diasporafoundation.org
1: https://github.com/PixelsCommander/ViralJS
In addition to Diaspora, have a look at GitTorrent [1], which uses the BitTorrent DHT for data storage, git as a data interface, and the bitcoin blockchain for verified identities. You can also draw inspiration from IFPS [2]. There is also a curated list [3] of resources or technologies useable to build p2p systems, including these and many other projects and libraries.
[1] https://github.com/cjb/GitTorrent
[2] https://ipfs.io/
[3] https://github.com/kgryte/awesome-peer-to-peer