No vídeo anterior a gente falou um pouco mais sobre comunicação síncrona do que assíncrona. A comunicação assíncrona é uma das comunicações mais inteligentes que a gente pode ter, porque ela faz parte já da nossa vida. Eu vou no supermercado, eu pego uma fila. Eu estou indo num parque para andar naquele brinquedo, eu pego uma fila. Então, a gente, né, o ser humano, de forma geral, por padrão, ele já se acostumou, né, a, em diversas situações, ele não ter o resultado daquilo na hora que ele quer, né? Então, ou eu entro numa fila pra passar num caixa, ou eu mando um e-mail e eu sei que eu mandei o e-mail e não necessariamente aquela pessoa tá olhando a caixa de e-mail naquele momento, tá? Mas eu tenho algumas garantias aí nesse caso. Qual é a nossa primeira garantia, tá? A primeira garantia que eu tenho aqui nesse tipo de caso é a seguinte, de que a mensagem, ela foi enviada. Então, eu consigo garantir que a minha solicitação de corrida foi feita. Eu consigo garantir que o e-mail que eu enviei, ele foi enviado em que algum momento a pessoa, né? Hopefully, né? Ela responda isso aqui pra gente. Então, quando a gente tá falando em casos desse tipo, o que que acontece aqui? Eu garanto que aquela loja virtual, que mesmo no momento que eu tava fazendo aquela minha compra, se o sistema de cartão de crédito estivesse fora do ar, eu ainda não perderia a venda, porque eu enviaria os dados, quando o sistema estivesse no ar, o que que iria acontecer? Ele iria processar e depois mandar uma push notification, um e-mail pro cara falando ó, a compra realmente foi aprovada, e se não, olha, não foi aprovada, clique aqui e mude sua forma de pagamento. É como a Amazon aqui nos Estados Unidos funciona. Algumas lojas virtuais já trabalham... ...fazendo, eles enfileram e garantem que as transações não vão ser perdidas. Então, a gente consegue garantir que a mensagem, nesse caso, foi enviada. Por outro lado, a gente tem algo que é chamado de demora. Isso aqui, dependendo da situação, pode demorar. Por isso que isso tem que ser uma análise de negócio do que é aceitável ou não. Para uma Amazon da vida, é aceitável para eles eu mandar o cartão de crédito e não aparecer compra aprovada na hora. Aparece que minha ordem foi enviada e depois aparece compra aprovada. Caso não for aprovada, a pessoa entra depois e troca o cartão. Talvez para aquela loja que não tenha tanto acesso, ele prefira, eu vou fazer de forma assíncrona, a pessoa recebe a mensagem de cara que foi aprovada, se não for, ele troca o cartão na hora. Aí, isso aí vai depender de decisões de negócio. Existem decisões que não tem como, dependendo da situação, ela ser feita apenas de forma assíncrona. Por exemplo, eu estou dando um chute aqui. Na hora que eu vou comprar um ingresso para um show, aquele ingresso naquele lugar é único, não tem como comprar dois. Então, se eu mando tudo isso funcionar de forma assíncrona, eu só vou ter certeza que a pessoa conseguiu aquele lugar ou não depois de um tempo, mas quando esse tempo passou, outras pessoas já possam ter escolhido outros lugares e aquela pessoa que pensou que contratou aquele lugar, ela acaba não pegando o que ela queria e ainda perdendo outras possibilidades. Então, nesse caso, talvez a operação síncrona seja meio que obrigatória, inclusive para resolver problemas ali de concorrência. Então, nem todos os casos para a gente, a comunicação assíncrona, ela vai funcionar. E é essa clareza que a gente precisa ter na hora que a gente vai desenvolver qualquer tipo de sistema. Eu dei o exemplo do ingresso, isso não significa que tem partes do sistema do ingresso que não seja assíncrona. A realidade, galera, é que quando a gente desenvolve sistemas, e ainda mais sistemas grandes, raramente nesse sistema vai ter ou só parte síncrona ou só parte assíncrona. Normalmente é uma parte híbrida. Tem partes que eu preciso de ser assíncrono. Tem partes que eu preciso de sincronismo. O grande ponto é que você tem que ter na sua cabeça quais são vantagens e desvantagens, quais são os contextos de cada coisa. Beleza? Então, isso aqui só foi pra, como se diz a gente balancear os conhecimentos aqui de todo mundo que tá chegando, eu acredito que você, né, e muitas outras pessoas já saibam disso, você já é um desenvolvedor sênior pelo menos, então você já deveria saber disso de uma forma geral, mas vale a pena apenas pra gente nivelar e garantir que tá todo mundo falando a mesma língua