Ir para o conteúdo principal

Biblioteca para o MIN.IO

OBJETIVO

Estudar uma biblioteca que possui um conjunto de ferramentas para a integração com o min.ioio.

  

JUSTIFICATIVA

Visto que o trabalho com o Min.io é muito repetitivo como por exemplo, possui muita implementação de código.digo, Sendofaz-se necessário uma biblioteca para a abstração.

  

RESULTADOS ESPERADOS

Uma biblioteca que seja de fácil implementação e gestãoo.

 

 ENVOLVIDOS

Desenvolvimento:

  • Vinicius da Rosa Pereira
  • Lucas da Silva Andrade 

Gerente de Desenvolvimento:

  • Janderson de Castro Thomaz

Product Owner:

  • Gabriel Fernandes de Oliveira

Scrum Master:

 
  • Edson Masami Hiraçaka

 

GLOSSÁRIO:

Storage - Armazenamento

Messaging - Mensagens

AWS - Amazon Web Services

 

SOLUÇÕES ENCONTRADAS

  As soluções encontradas foram baseadas em sua documentação e atualização durante o tempo, as soluções foram:

    • Storage.Net
    • GeekLearning.Storage

 Storage.Net

Ele possui uma interface genérica para múltiplos provedores, também implementa versões da memória e no disco de todas as abstrações;

TambéAlém disso, fornece alternativas síncronas e assíncronas de todos os métodos e como implementá-las para oda melhor esforçoforma possível.  

Ele define dois dois  tipos diferentes de storage:

    • Blob Storage é usado para armazenar arquivos arbitrários de qualquer tamanho, que não possuem nenhuma estrutura. Os dados são essencialmente um arquivo binário.rio; e
    • Messaging sãoé um mecanismo assíncrono para enviar e receber mensagens entre sistemas desconectados.

A partir dadas definições e ada sugestão da biblioteca, a melhor implementação seria por blob storage.

 

Exemplo de conexão:

 

Exemplo de escrita e leitura:

 

GeekLearning.Storage

Esta biblioteca abstrai o armazenamento de dados físicos de uma maneira que permite quea você comutacomutação de forma transparente odo provedor subjacente por configuração.

Características:

    • Liste arquivos, com suporte a globbingglobbing;
    • Ler, Escrever, Excluir arquivosarquivos; e
    • URL de arquivo públicoblico.

Suporte a azure, armazenamento de arquivo, não possuem suporte nativo a AWS;

 

Exemplo de conexão:

 Exemplo de leitura, escrita e deleção:

 PONTOS FORTES

A fácil implementação de upload de arquivos no storage, com isso possibilitapossibilitando um desenvolvimento mais ágil, assimotimizando, otimizandoassim, a implementação. Além disso, está elencado a performance do mesmo, com sua disponibilidade de dados.

 

IMPEDIMENTOS E POSSÍVEIS IMPEDIMENTOS

 

As bibliotecas não possuem um trabalho nativo com a AWS, nem com o Min.io, podendo ter instabilidades na execução. Além da atualização e suporte a biblioteca, que está um pouco defasada.

  

CONCLUSÃO

 

Após estudos, levando em consideração os pontos fortes e fracos, e considerando primeiramente a estabilidade das bibliotecas, cabe considerar o não uso de ambas as bibliotecas.

  

REFERÊNCIAS

 

[GeekLearning.Storage]:  

Dotnet Core Storage, cloud or file system storage made easy (geeklearning.io)

geeklearningio/gl-dotnet-storage: .NET Core Storage abstractions with FileSystem and Azure providers (github.com)

  

[Storage.Net]:

aloneguid/storage: 💿 Storage abstractions with implementations for .NET/.NET Standard (github.com)