# Event Sourcing
# Descrição do Padrão
O padrão será apresentado em duas etapas: O Problema no qual seu uso faz sentido, e A Solução que o padrão propõe para o resolver.
# O Problema
Em uma arquitetura de microsserviços orientada a eventos com gestão de dados descentralizada, existe a dificuldade em garantir atomicidade para a combinação de tarefas: persistência e notificação.
# A Solução
Implemente uma estrutura que permita que serviços publiquem eventos em tópicos e que também permita que serviços se inscrevam em tópicos para receber eventos. Faça com que esta estrutura persista os eventos em seus tópicos como uma lista cronológica.
# Análise de Trade-offs
➕ garante atomicidade para persistência e notificação
➖ implementa uma solução não-trivial para lidar com dados
➕ torna possível reconstruir estados históricos da aplicação