2012-01-11 12 views
5

Estoy desarrollando una aplicación Java que funcionará de igual a igual. En cualquier momento, habrá más de 5000 clientes en línea en todo el mundo. Cada uno de estos clientes creará pequeños archivos a lo largo del tiempo. Me gustaría que estos archivos se distribuyan entre todos los clientes y se almacenen, de modo que cualquier persona pueda conectarse y descargar el salto de archivos.biblioteca de almacenamiento punto a punto en Java

¿Hay alguna biblioteca que ayude con eso?

+0

¿Necesita que exista resolución de conflictos entre los nodos? ¿Deben los nodos autodescubrirse entre sí, o estarían de acuerdo con que cada uno tenga que buscarlos manualmente? – halfer

+0

Podrías echarle un vistazo a la biblioteca Pastry http://www.freepastry.org/ Pero lo haré Bill K a continuación. Piensa en usar un sistema cliente/servidor. Cualquier solución de servidor podría escalar fácilmente a clientes de 5K. – selbie

+0

Necesito soportar 200 millones de clientes. –

Respuesta

3

(estoy reformulando esta para que sea un poco más grave, ya que sigue siendo la única respuesta)

Trate de encontrar una biblioteca de Java bits torrente, sólo googled y había un montón de ellos - I No quiero enumerarlos aquí porque no tengo ninguna experiencia personal con ninguno de ellos.

Puedo decirle que, por la forma en que funciona normalmente, los torrents de bits aún requieren una coordinación centralizada (el rastreador). Estoy bastante seguro de que Vues funciona en un modo puramente p2p "sin monitor", así que lo buscaría específicamente al evaluar las bibliotecas.

Si esta no es una gran aplicación ampliamente distribuida y fuertemente financiada que está creando, recomiendo buscar en otro tipo de sistema de archivos compartidos como Dropbox o incluso svn, no son p2p pero se sabe que funcionan de manera confiable y al menos Dropbox puede funcionar completamente en segundo plano, desatendido e ignorado en cualquier plataforma durante años sin problemas.

+0

Me gusta esta respuesta. Podría extenderse para decir "cualquier solución cliente/servidor". La cantidad de esfuerzo solo para hacer que un sistema cliente-servidor sea confiable será minúsculo en comparación con la cantidad de depuración requerida para hacer que un sistema P2P escalable funcione de manera robusta. – selbie

+0

Después de pensarlo, creo que una biblioteca de bit torrent realmente podría hacer el trabajo, pero creo que implementar una biblioteca de bit torrent y tratar todos los problemas de conectividad (incluyendo hacerlo puramente p2p que BT no es normalmente) sería más trabajo que la mayoría de los proyectos pequeños querrían asumir. –

Cuestiones relacionadas