Parabéns pelo projeto Vitor! Eu adoro saber que algo tão massa está sendo criado por alguém aqui da comunidade!
Uma coisa que me chamou atenção foi no fluxograma do caso de uso de quando a pessoa acessa o link curto. Ele vai direto no Redis ou checa se exisge no Redis e caso não exista ele vai até o banco de dados?
Talvez minha pergunta seja trivial para você, mas no desenho não mostrou isso, e me gera um pouco de preocupação nesse sentido pois caso o redis reinicie, ele não terá mais o histórico, visto que ele salva em memoria..
É o único ponto de atenção que encontrei, mas talvez você já deva estar fazendo isso e só não colocou no desenho
No mais, achei muito massa MESMO! Usar o bitly principalmente pra quem cria conteúdo é um problema pq as plataformas punem quando você usa um link do bitly. Vou usar o cortu.io sempre que fizer alguma ação.
Muito obrigado o/
Eu utilizo o redis como fonte de dados mesmo, um key value store, o Upstash fornece um storage duravel, entao mesmo se minha instancia reinicia, meu volume mantém os dados.
Durante o redirecionamento o objetivo é evitar ao máximo ir na API, usando só o Redis para obter os dados.
Mas caso aconteca de eu perder esse storage, temos um mecanismo de "sincronia" dos links com o Redis, a fim de manter a consistencia entre as duas bases, mas a intencão é precisar o mínimo possivel da API para o redirecionamento, devido a quantidade de "cliques" ser muito superior que os links. (Falamos de uma razao atualmente de 100:1, 100 clicks por link criado por enquanto)
Sobre as plataformas punirem, consegue me contar mais sobre a sua experiencia? Eu tenho a minha mas seria muito enriquecedor saber sobre a sua!