Pessoal, esse é o primeiro pacote com novidades sobre o projeto. Nosso diagrama de causa-efeito-ação chega a sua 5a versão com muitas novidades, incluindo:Adição do MongoDB, agora fazendo encoding de MP3 com FFMPEG, possibilitando o download de MP3 que já está em dev, além de stream parcial (que permite utilizar o controle de tempo da tag video do html5) e várias correções, além de uma nova implementação "duvidosa". Mas essa eu não vou contar aqui, você terá de olhar no github, mais especificamente em um commit que nesse momento só está presente na develop.
Fique atento às modificações nas imagens abaixo. Essas imagens representam novidades que criei e estão publicadas em dev (http://devweek04.gago.io:20001/), enquanto isso prd (http://devweek04.gago.io/) continua com a mesma implementação antiga. Nesse momento faz bem deixar assim, já que torna possível visualizar as diferenças.
Se você não sabe do que eu estou falando, aconselho assistir ao vídeo Docker - de A a Z - 19 - Youtube Downloader - o projeto, é nele que eu conto a história sobre esse projeto.
Novidades na develop!
01 - Baseline!
Nele temos o que foi implementado, e algumas noções de direção para correções e evoluções
02 - Adição do Polly
Polly é um dos frameworks de gerenciamento de exceções mais interessantes que conheço. Seu papel é definir políticas de tratamento de exceção. No nosso caso, havíamos um problema na inicialização do serviço em função das dependências, como Redis, RabbitMQ e posteriormente MongoDB. Com o Polly, defino uma política tolerante a falhas que permite o retry durante a inicialização dos serviços no worker.
03 - Update do Spring .NET
Como já disse no vídeo, esse é um dos frameworks mais presentes em tudo que eu faço em .NET. Nesses últimos dias, revisitei meu port e percebi que Common.Logging havia sido migrado para o .NET Standard. Essa dependência era uma dependência necessária para o Spring .NET e durante o port eu simplesmente usei um mock para as classes desse projeto. Agora removi o mock, adicionei as devidas dependências e pronto!
04 - Docker Swarm configs
Adicionei configurações específicas do docker swarm como update_config e restart_policy
05 - MongoDB + FFMPEG + MP3 + Streaming
Essa foi a maior mudança, onde implementei tanto o suporte a MP3 quanto a troca do redis pelo mongo para persistência definitiva, sem contar uma configuração super simples que habilita o stream parcial, necessário para que no elemento video do html5, você possa fazer seek na mídia, escolhendo um ponto para assistir, sem ser obrigado aguardar todo o arquivo para isso.
Conclusão
Muita coisa aconteceu nesse grande final de semana do natal, e estão aqui as novidades. Fique atento ao branch lá no github do projeto, pois para evitar confusões, eu não troquei o branch principal do projeto.
0 comentários