Desmistificando Arquitetura CQRS

Um curso passo a passo, desmistificando toda a implementação do padrão CQRS em arquiteturas escalaveis e resilientes.

Autor
José Roberto Araújo
Crie arquiteturas escaláveis usando padrão arquitetural CQRS

O CQRS é um padrão poderoso que pode ser usado para criar arquiteturas escaláveis e eficientes. No entanto, ele também pode ser complexo de entender e implementar. Neste curso, vamos desmistificar a complexidade desse padrão arquitetural, ensinando os principais conceitos para compreender o padrão CQRS de forma clara e concisa. Você também vai aprender sobre as diferentes abordagens e variações de implementação deste padrão arquitetural. Ao final do curso, você estará pronto para utilizar este padrão em seus projetos.

Conteúdo

  • Visão geral do curso

    Bem vind@
    O que você vai aprender?
    Para quem é este curso?
  • Introdução a conceitos arquiteturais

    Teorema CAP & PACELC
    Consistência transacional
    Consistência eventual
    Arquitetura orientada a eventos
    API Design
    Documentação arquitetural
    ✔️ Arquitetura de referência
    ✔️ Architecture Decision Record (ADR)
    ✔️ C4Model
    ✔️ Diagramas
  • Analisando uma solução CRUD-Based

    O que é uma solução CRUD-based?
    Desvantagens da modelagem CRUD-based
    Impactos desse padrão em uma arquitetura de software
  • Padrão arquitetural CQRS

    A história sobre o padrão CQS e CQRS
    CQS vs CQRS?
    Níveis evolutivos de implementação CQRS
    Mensagem vs Comandos vs Eventos
    CQRS e Base de dados
    Arquitetura de solução com CQRS
    Mitos e verdades sobre CQRS
  • Arquitetura orientada a tarefas

    Identificando tarefas através da UI
    Interface baseada em CRUD vs Tarefas
    UI colaborando com arquitetura CQRS
  • Domain-Driven Design: Descobrindo o sub-domínios

    Introdução ao Event Storming
    Contextualizando o domínio
    Descobrindo os contextos usando Event Storming
    Mapeamento processos
  • API Design

    O que é uma API REST?
    Organize suas APIs por recursos
    Defina das APIs por caso de uso
    Padronize mensagem de erro
    Versionamento de APIs
    Entendendo a especificação OpenAPI
    Ferramentas
  • Padrões Event-Driven

    Carried-State Transfer
    Outbox Pattern
    Inbox Pattern
  • Deep-Dive Apache Kafka

    O que é o Apache Kafka?
    Arquitetura do Apache Kafka
    Entendendo o que são: Tópicos?
    Entendenda como funcionam as Partições
    Produtores
    Consumidores
    Zookeeper? O Kafka não depende mais do Zookeeper!
    Garantindo ordenação de mensagens
    Idempotência nos produtores
    Entenda como funciona o Schema Registry
    Compactação de dados
  • Tipos de organização de solução

    Arquitetura limpa
    Organização por aspectos técnicos
    Vertical Slice
    Criando e organizando a solução do projeto
  • Implementando os sub-domínios

    Hotel Management
    Searching
    Booking
  • Implementando o padrão Outbox

    Conheça a Lib KafkaFlow
    Padrão Outbox no domínio: Hotel Management
    Padrão Outbox no domínio: Booking
  • Implementando o padrão Inbox

    Inbox pattern no domínio: Searching
  • Implementando estratégias de Testes

    Testes de unidade
    Testes de integração usando TestContainers
  • Encerramento

    Conclusão do curso

Detalhes

Nível: Avançado

Quer ficar por dentro das novidades?

Junte-se as 500+ pessoas arquitetas de software que estão ampliando seus conhecimentos com a comunidade. Junte-se e receba todas as atualizações!
(*) Não enviamos Spam!

O que os alunos pensam sobre nossa estrutura?

Depoimentos dos nossos alunos

Conteúdo do curso ficou leve e descomplicado

" O professor do curso possui uma didática muito boa, explica cada detalhe e é bem aberto para receber e responder perguntas, sobre o curso e também sobre assuntos relacionados à ele. Demostra muita preocupação para que todos os alunos possam se aprofundar o máximo possível no assunto e assimilar todo o conteúdo. Conteúdo do curso ficou leve e descomplicado, e ainda abriu espaço para ótimas discussões de variados assuntos pertinentes ao curso e arquitetura de software em si. "


Autor

Rodrigo Victor Ribeiro

Software Engineer @Creditas

Recomendo!!!

" Sou experiente na área e ainda assim aprendi bastante coisa neste curso. "


Autor

Vinícius Climaco

Arquiteto de soluções @Itaú Unibanco

Contém sólidos de arquitetura e programação

" O curso ajudou a compreender a arquitetura CQRS utilizando conceitos sólidos de programação! "


Autor

Alexandre Santos

Solutions Engineer @Impinj

A didática do curso é muito acessível

" Curso excelente, professor bem didático, explica os assuntos com clareza e compartilha seus conhecimentos baseado na prática de sua vida profissional , bem como seu profundo conhecimento da parte teórica. "


Autor

Hélio Andrade

Senior Software Engineer @Grupo Casas Bahia

Curso fantástico em arquitetura de software

" Curso fantástico que aprimora o conhecimento na área de arquitetura e desenvolvimento, uma abordagem que será imprescindível no futuro, para modelagem de novos projetos, e ate mesmo para remodelagem dos projetos legados, mantendo assim uma modernização do projetos. Grato ao José Roberto pela ótima didática e auxilio no decorrer e após a conclusão do curso, sempre disposto a melhorar e a nos ajudar na melhoria de nossa formação. "


Autor

Raphael Freitas

Software Engineer @Softprime

Curso de nível alto

" Um curso de nível alto. Exige do aluno, foco, atenção, conhecimento de programação, e um mindset voltado para aprimorar a forma de pensar arquitetura de software. Curso de alta performance. "


@Anônimo

@Anônimo

Notório o conhecimento apresentado pelo instrutor

" Tive uma ótima experiência no curso de CQRS da Emerging Code, ministrado pelo José Roberto. É notório o conhecimento apresentado pelo instrutor, sobre modelagem de domínio e Design de código. A experiência do mesmo é vasta, algo que você consegue identificar durante o curso. A didática também é ótima, e o conteúdo do curso é bem Rico. Você consegue sair do curso com um conhecimento diferenciado e que pode ser aplicado logo em seguida. Recomendo o curso, um dos poucos que vale a pena ser adiquirido! "


Autor

Gustavo Fontes

Chief Information Officer @Meu RH 360

Curso bem estruturado e com excelentes explicações

" O curso é bem estruturado, faz excelentes explicações passando por diversas abordagens relacionadas a arquitetura de software. Além disso, direciona como e quando devemos aplicar o padrão CQRS de forma mais assertiva e em cenários específicos. "


Autor

Nelson Souza

Senior Software Engineer @Processware

Esse curso ajudou muito na minha carreira

" O curso de arquitetura que fiz na emerging code, ajudou muito na minha carreira profissional. com os conhecimentos adqueridos consegui atingir meu objetivo que era tornar-se tech lead, me senti mais seguro após o curso e o conhecimento apliquei nas minhas soluções no dia dia, inclusive recomendei para meu time de desenvolvimento os cursos. "


Mackson Oliver

Senior Software Engineer