Workshop: Criando Aplicações Baseadas em Event Sourcing e CQRS usando Apache Kafka e ksqlDB
Profissionais do desenvolvimento que estejam criando microservices comumente se deparam com o desafio de implementar a comunicação de dois ou mais serviços sem sacrificar o modelo de isolamento que estes proporcionam, que é, sem dúvida, o principal motivador do uso deste tipo de estilo arquitetural pois ele gera um menor acoplamento e possibilita a evolução e escala independente de cada microservice.
Devido a própria natureza dos microservices, onde cada um escreve em sua própria base de dados, é necessário que os dados gerados por cada serviço sejam propagados para outros microservices que estejam interessados naquele dados, notadamente quando há uma relação entre ambos devido a modelagem do sistema.
Uma das abordagens para endereçar esse desafio é garantir que cada microservice possa gravar seus dados em suas próprias bases de dados, bem como publicar esse mesmo dado para outros serviços através de um sistema de mensageria. No entanto, para que isso funcione bem é necessário que esta operação seja atômica. Em plataformas como Jakarta EE ou .NET, isso pode ser feito através do uso de 2PC, mas isso cria um acoplamento com a tecnologia e, portanto, não é uma solução ideal para este paradigma arquitetural.
Uma solução eficaz para lidar com esse tipo de desafio é a implementação do padrão Event Sourcing, que possibilita a persistência de dados bem como sua propagação para outras bases de dados de forma atômica, sem necessariamente adotar tecnologias específicas para endereçar a questão de atomicidade. Esta técnica consiste em tratar cada operação realizada por em uma entidade de negócio como um evento imutável, e esta série de eventos é então persistida num sistema de log que possibilite a reconstrução do estado da entidade de negócio a partir do log de eventos.
Este workshop ensinará como implementar corretamente o padrão Event Sourcing usando o Apache Kafka. Será mostrado como o Kafka oferece os recursos básicos para garantir questões relacionadas a consistência dos eventos, escalabilidade, tolerância a falhas, e também aspectos de segurança. Será também mostrado como implementar de forma apropriada a tecnologia ksqlDB, que possibilita a leitura de dados de bases de dados a partir de uma arquitetura baseada em conectores, bem como o processamento destes dados usando uma linguagem próxima ao SQL. O ksqlDB possui um papel chave neste tipo de arquitetura em possibilitar a reconstrução dos eventos em um estado que possa ser facilmente lido e replicado para todos os microservices interessados naquele estado; além de possibilitar a implementação simples de visualizações de dados oriundos de múltiplos microservices, usando a técnica de CQRS.
Other Workshops:
Tracks 2019
Segunda-feira, 6 de maio
-
Microservices: Melhores Práticas e Padrões
Frameworks modernos e os desafios de implantação, gestão e pós-produção.
-
Armazenamento e Processamento de Big Data
As últimas tendências, arquiteturas e ferramentas para armazenar e processar o seu Big Data.
-
Java e JVM: Inovações no Ecossistema e Linguagem
Performance, maturidade e novidades da principal plataforma de desenvolvimento no Brasil e no mundo.
-
Front-end Moderno
Conheça as tendências e ecossistema da web moderna.
-
Solutions Track
Conheça soluções, ferramentas e técnicas de empresas parceiras do QCon São Paulo.
Terça-feira, 7 de maio
-
Arquiteturas que Você Sempre Quis Conhecer
Segredos arquiteturais de aplicações populares, com milhões de pessoas usuárias e que nunca saem do ar.
-
Machine Learning e Inteligência Artificial
Algoritmos, técnicas e ferramentas: o que está por trás de sistemas e soluções cada vez mais assertivas.
-
Construindo Culturas de Desenvolvimento Duradouras
Criando e evoluindo a cultura de empresas: novas formas de organizar times com foco em produtividade.
-
Ciência da Computação no Mundo Real
Temas avançados em computação. Técnicas clássicas e modernas direto da academia para o seu código.
-
Solutions Track
Conheça soluções, ferramentas e técnicas de empresas parceiras do QCon São Paulo.
Quarta-feira, 8 de maio
-
Arquiteturas de Vanguarda
Conheça as técnicas e tecnologias modernas que dominarão as arquiteturas em 2020.
-
Data Science Aplicada
Tecnologias e as boas práticas da ciência de dados trazendo ganho e diferencial competitivo para grandes empresas.
-
Atingindo Todo o Potencial de Containers
Técnicas modernas de DevOps, Containers e Continuous Delivery para explorar o potencial da conteinerização de aplicações.
-
Linguagens do Século 21
Linguagens e plataformas emergentes, com ênfase em linguagens projetadas para alta concorrência e sistemas distribuídos.
-
Levando Sua Carreira Para o Próximo Nível
Habilidades e estratégias para destravar sua carreira e potencializar seu desenvolvimento profissional.
-
Solutions Track
Conheça soluções, ferramentas e técnicas de empresas parceiras do QCon São Paulo.