Bom pessoal, agora a gente vai falar do nosso terceiro tipo de evento. Isso a gente chama de Event Sourcing. Como que o Event Sourcing funciona? A utilização dele é bem específica. A utilização dele nos ajuda a guardar o histórico de tudo que aconteceu no nosso sistema. Ou seja, vamos imaginar que eu emito um evento falando que a compra foi aprovada. Então você vai perceber aqui que parece que eu tenho um Event Notification. E aqui nesse caso eu até tenho. Porém, você vai perceber que esse Event Notification, além de ele ter essas informações, ele tem um time stamp né ou se ele não tiver você vai perceber que os eventos eles são guardados numa determinada ordem porque porque cada vez que esse evento ocorre esses dados são persistidos de um banco de dados então você vai perceber aqui ó que a compra foi aprovada e os dados foram guardados a o status do produto foi enviado é gerado mais um dado é mais uma linha no banco de dados o produto foi entregue mais uma linha do banco de dados então o que acontece ele consegue ver se o na pra gente cada evento sendo possível a gente fazer o replay o que significa que se eu ler esse banco tá na ordem aí certinha que os dados foram colocados da mesma para o meu sistema consumidor porque porque a a gente tem cada mudança de estado que o sistema vai acontecendo tá isso pra gente galera é muito importante em alguns casos de uso específico. Quais são esses casos de uso? Um exemplo muito claro é auditoria. Por quê? Porque se eu consigo ver cada mudança de evento, eu consigo ver cada coisa que aconteceu dentro do meu sistema, ou resultante ali do meu sistema. E aí, nesse caso, a gente consegue tomar uma decisão, a gente consegue deixar muito claro o que aconteceu. Eu vou dar um exemplo para vocês. Vamos imaginar que eu estou em um extrato bancário e eu tenho o saldo bancário ali no meu banco. Você acha que toda vez que o sistema vai calcular o saldo ele pega todos os débitos e todos os créditos e gerou saldo todas as vezes você tem 20 anos de conta no banco e ele vai fazer essa conta matemática cada vez pra você trabalhar dessa forma claro que não normalmente eles vão trabalhar com alguns snapshots que ele mostra o seu saldo e depois há de tempos em tempos ele vai fazer nessa conta a ali pra você legal agora já pensou se cada vez que eu mudasse o meu saldo eu não lançar se eu não fizesse o lançamento do que aconteceu do meu débito, do meu depósito, se alguém chega e muda ou dá um erro no sistema onde ele adiciona o saldo de um milhão e o cara não tem um milhão, o cara estava negativo, como que você vai saber o saldo final desse cara? Bom, se você tiver todos os eventos que resultam numa alteração de saldo, basta pegar o seu sistema, apagar o saldo final e mandar ele reprocessar todas essas mudanças de estado que daí você vai chegar naquele saldo final de forma correta. Entende? Então é muito interessante para auditoria, é muito interessante para você conseguir pegar erros no sistema, porque você sabe o que está acontecendo, é muito importante para você conseguir dar o replay, e você garante muito mais segurança. Então, vamos imaginar que o cara troca o endereço de entrega. Ao invés de você apagar do banco de dados o endereço antigo e colocar o novo, de você apagar do banco de dados endereço antigo colocar um novo né você adiciona endereço novo e os dados né antigos ficam ainda registrados no banco de dados existe um caso muito interessante de um banco de dados que ele é chamado de daytomic tá e esse daytomic ele é um banco de dados que hoje a se eu não me engano ele virou propriedade do new bank o new bank comprou a empresa que fez o daytomic etc tá e o que o daytomic faz ele é um banco de dados imutável significa que tudo que acontece de mudança todos os updates que acontecem ele gera um novo registro então significa que por padrão você faz event source e você consegue ter essa auditoria então é muito interessante da forma como esse banco de dados trabalha por exemplo legal então há uma coisa também em relação a event sorte você vai ver que ele é bem associado a algo que a gente chama de CQRS, a gente vai falar isso daqui a pouco, mas é importante você entender que a gente tem esses tipos de eventos. Beleza? Então, vamos nessa!