Primeira versión de wZD 1.0.0, un servidor para o almacenamento compacto de ficheiros pequenos

Dispoñible primeira edición wZD 1.0.0 - un servidor para almacenar de forma eficiente un gran número de ficheiros nunha forma compacta, que desde fóra parece un servidor WebDAV normal. Utilízase unha versión modificada para o almacenamento BoltDB. O código do proxecto está escrito en Go e distribuído por baixo a licenza BSD.

Servidor permite Reduce significativamente o número de ficheiros pequenos en sistemas de ficheiros normais ou agrupados con soporte de bloqueo total. O clúster admitido polos desenvolvedores de wZD almacena uns 250 millóns de ficheiros pequenos distribuídos en 15 millóns de directorios no sistema de ficheiros do clúster. MooseFS.

wZD fai posible mover (arquivar) o contido dos directorios a arquivos no formato BoltDB e despois distribuír estes ficheiros desde estes arquivos (ou colocar ficheiros en arquivos mediante o método PUT), reducindo significativamente o número de ficheiros no sistema de ficheiros e reducindo a sobrecarga de almacenamento de metadatos. Para aumentar a eficiencia do procesamento de ficheiros grandes, estes ficheiros pódense gardar por separado dos arquivos Bolt. Este enfoque permítelle organizar o almacenamento dun gran número de ficheiros pequenos sen estar limitado polo límite do número de inodos do sistema de ficheiros.

Primeira versión de wZD 1.0.0, un servidor para o almacenamento compacto de ficheiros pequenos

O servidor tamén se pode usar como base de datos NoSQL para datos en formato clave/valor (con fragmentación baseada na estrutura do directorio) ou para distribuír documentos html ou json previamente xerados desde a base de datos. En termos de rendemento, o envío e a escritura de datos mediante arquivos Bolt produce un aumento da latencia de aproximadamente un 20-25% ao ler e dun 40-50% ao escribir. Canto menor sexa o tamaño do ficheiro, menor será a diferenza de latencia.

Primeira versión de wZD 1.0.0, un servidor para o almacenamento compacto de ficheiros pequenos

O principal capacidades:

  • Multithreading;
  • Multiservidor, proporcionando tolerancia a fallos e equilibrio de carga;
  • Máxima transparencia para o usuario ou desenvolvedor;
  • Métodos HTTP admitidos: GET, HEAD, PUT e DELETE;
  • Control do comportamento de lectura e escritura a través das cabeceiras do cliente;
  • Soporte para hosts virtuais flexibles;
  • Soporte para a integridade dos datos CRC ao escribir/ler;
  • Buffers semi-dinámicos para un consumo mínimo de memoria e unha optimización do rendemento da rede;
  • Empaquetado de datos diferido;
  • Ademais, ofrécese un archivador multiproceso wZA para mover ficheiros a arquivos de Bolt sen deter o servizo.

Algunhas limitacións da versión actual: non hai soporte para Multipart, o método POST, o protocolo HTTPS, enlaces para linguaxes de programación, eliminación recursiva de directorios, non hai soporte para montar unha estrutura no sistema de ficheiros a través de WebDAV ou FUSE, ficheiros almacénanse baixo un usuario do sistema. O formato de almacenamento é específico da arquitectura e non é portátil entre os sistemas Little Endian e Big Endian. A pesar do feito de que o servidor wZD implementa soporte para o protocolo HTTP, só debe lanzarse baixo o pretexto de proxies inversos, como nginx e haproxy.

Fonte: opennet.ru

Engadir un comentario