Pergunta

Se alguém tiver um sistema peer-to-peer que possa ser consultado, gostaria de

  • reduzir o número total de consultas na rede (distribuindo amplamente itens "populares" e itens "semelhantes")
  • evite armazenamento excessivo em cada nó
  • garantir boa disponibilidade até mesmo para itens moderadamente raros em caso de tempo de inatividade do cliente, falha de hardware e saída de usuários (possivelmente detectando itens raros para arquivistas/historiadores)
  • evite consultas que não encontrem correspondências no caso de partições de rede

Dados estes requisitos:

  1. Existem abordagens padrão?Caso contrário, existe alguma pesquisa respeitada, mas experimental?Estou familiarizado com esquemas de distribuição, mas não vi nada que realmente abordasse o aprendizado de robustez.
  2. Estou faltando algum critério óbvio?
  3. Alguém está interessado em trabalhar/resolver este problema?(Se assim for, estou feliz em abrir parte de um simulador muito ruim que criei neste fim de semana e geralmente oferecer conselhos inúteis).

@cdv:Agora assisti ao vídeo e ele é muito bom e, embora eu não ache que chegue a uma estratégia de distribuição conectável, definitivamente já percorremos 90% do caminho.As perguntas, no entanto, destacam diferenças úteis com esta abordagem que abordam algumas das minhas preocupações adicionais e me dão algumas referências para acompanhamento.Assim, aceito provisoriamente sua resposta, embora considere a questão aberta.

Foi útil?

Solução

Se tiver tempo vale a pena conferir a palestra sobre tecnologia do Google que Wuala deu.Eles discutem os mesmos problemas que enfrentaram ao construir seu sistema de arquivos ponto a ponto.

Outras dicas

Existem vários sistemas com vários aspectos do que você procura e cada um fazendo compromissos diferentes, incluindo, mas não se limitando a:

Dínamo da Amazon: http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf

Kai: http://www.slideshare.net/takemaru/kai-an-open-source-implementation-of-amazons-dynamo-472179

Hadoop: http://hadoop.apache.org/core/docs/current/hdfs_design.html

Acorde: http://pdos.csail.mit.edu/chord/

Colméia: http://www.cs.cornell.edu/People/egs/beehive/

e muitos outros.Depois de construir um sistema personalizado nesse sentido, deixei alguns dos blocos de construção também em formato de código aberto: http://code.google.com/p/distributerl/(isso não é um sistema completo, mas algumas bibliotecas úteis na construção de um)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top