Bom pessoal, no nosso vídeo anterior, a gente trabalhou aqui para melhorar esse tipo de modelagem. É uma solução clássica. Se você nunca trabalhou com algum message broker, saiba que ele serve exatamente para isso. Você consegue enfileirar as suas requisições e esse sistema fica responsável para fazer isso para você. Beleza? Mas a gente ainda tem alguns probleminhas aqui. Ou seja, nós temos alguns possíveis pontos de lentidão que a gente pode querer melhorar. Pessoal, olha só que muito louco aqui para a gente. Para que a gente possa gerar esse código do ingresso, se eu for gerar, a gente vai ter algumas hipóteses aqui. Eu vou pegar, por exemplo, um base 36 ou alguma coisa para gerar um código com letras e números para tentar fazer esse cara ser melhor o menor possível. Porém, por mais otimizado que seja, o que eu vou ter que fazer? Eu vou gerar esse código, vou consultar o banco de dados, ver se esse código existe. Se ele não existir, o que eu tenho que fazer? Eu registro ele falando que eu estou utilizando e depois vou gerero o QR Code para daí eu fazer a minha confirmação ou seja para um sistema que tem um throughput tão alto fazer isso é custoso uma requisição só fazer a geração de um código único depois pegar esse código único verificar no banco de dados se ele existe se ele existir eu gero de novo verifico no banco de dados ele existe se não existir eu gravo no banco de dados depois gera o qr code se você perceber é uma situação custosa para um sistema que tem que estar altamente otimizado agora como é que você pode tentar resolver uma solução dessa. Olha só que legal, galera. Se você pensar aqui comigo, o que eu quero é pegar um código, um QR Code, para eu atribuir na minha order. Então, olha só o que eu posso fazer aqui para tentar facilitar um pouco a nossa vida. Deixa eu colocar isso aqui para cá. Olha só que interessante. Ao invés de eu gerar esse código aqui em tempo real, de fazer essas consultas em tempo real, no momento que eu preciso de mais throughput possível, o que eu posso fazer? Eu posso gerar um pequeno sistema muito simples aqui, que ele faz o seguinte. Ele é um gerador de códigos e QR Code. O que isso significa? Significa o seguinte. Ao invés de eu gerar esses códigos aqui em tempo de execução, eu já deixo um monte de código gerado. Entende? Esse cara aqui, em tempos em tempos, o que ele pode fazer? Ele gera códigos. E quando a compra de ingresso vai precisar, ele só pega um novo código. Ele não precisa gerar, fazer verificação, fazer nada e na hora que ele gerar cada código, ele já gera também os QR Codes, então o que acontece na hora que eu preciso de alguma coisa esse cara aqui, o que ele vai fazer, simplesmente ele vai chamar esse gerador de código, e os códigos já vão estar todos pré-gerados aqui, e o mais legal de tudo isso é que o qr code também ele pode ser gerado né quanto esse a de forma antecipada então o que eu posso fazer aqui simplesmente eu pego um bucket da amazon por exemplo ou qualquer um cloud storage Storage, Blob da Azure, etc. O que eu vou fazer? Eu gero esse cara aqui. Isso já vai facilitar a minha vida. Por quê? Porque na hora que eu vou comprar o ingresso, o ingresso foi aprovado, eu bato nesse microserviço aqui, esse cara fala, esse é o código e esse é o endereço do QR Code. E acabou. Ele só faz uma associação da Order de dele com o id do código que ele consultou e toda vez que ele pegar esse código esse microserviço que ele faz ele só dá baixa lá falando que esse código já está em uso e acabou galera olha só como que a gente consegue resolver esse problema se a gente fizer isso olha só eu não tenho mais lentidão para gerar o código do ingresso e eu não tenho mais lentidão para gerar o meu QR Code, porque eles já vão estar pré-gerados aqui para a gente. Então, se você perceber, pessoal, às vezes, você deixar as coisas pré-feitas é melhor do que você querer fazer em tempo de execução e esse aqui é um caso que você pode pensar e perceba pessoal provavelmente você trabalha com algum sistema né é que vai ter que gerar algum código pra você trabalhar com números ou você trabalha de forma distribuída você não pode ter conflito de aí diz isso aqui é um patente muito interessante tá a uma das coisas que a gente viu quando a gente fala em design patente existe um patente chamado sequência né ou seja esse cara ele serve apenas para gerar de esse aqui é um caso de sequência muito claro né atrelado obviamente um serviço que vai resolver um problema aqui pra você em relação ao qr code bacana né muitas vezes a solução é muito mais simples do que a gente imagina e no final do dia a gente consegue ter um gerador de código com um monte de código pronto com um monte de qr code pronto eu só faço a minha associação aqui beleza porém mas ainda assim eu tenho um ponto único de falha que muito grave que a gente vai ver nos próximos vídeos então vamos nessa