Envio ao correio dia 24/02, devido ao Carnaval.

Arquitetura Orientada a Eventos Soluções escaláveis e em tempo real com EDA

Roberto Picanço

*Você terá acesso às futuras atualizações do livro.

Conteúdo

Estamos vivenciando uma era digital em rápida evolução, em um mercado cada vez mais centrado no cliente, competitivo e em constante mudança. Empresas que estão enfrentando dificuldades em reagir às mudanças e adaptar o negócio de forma ágil para atender as necessidades dos clientes estão ficando para trás.

A direção que as organizações estão seguindo é dividir para conquistar, passando de um modelo centralizado para um modelo distribuído, seja de times, processos e tecnologias. Essa abordagem nos dá velocidade e agilidade, mas insere uma grande complexidade na nossa solução digital.

A Arquitetura Orientada a Eventos veio para mitigar a complexidade do modelo distribuído, minimizando o acoplamento entre as aplicações, adicionando assincronicidade, processamento em tempo real, resiliência, escalabilidade e flexibilidade para adaptar o negócio às mudanças de forma ágil com mínimo de impacto.

Neste livro, Roberto Picanço segue um roteiro para ajudar o leitor e a leitora na sua jornada de implementação da EDA, explorando conceitos-chaves, padrões arquiteturais e as principais capacidades dos brokers de eventos, que são considerados o coração dessa arquitetura.

Aqui você vai:

- Compreender os principais benefícios da EDA e os desafios que vêm junto ao adotá-la;

- Entender os principais conceitos da EDA: os componentes-chaves, a garantia de entrega, os tipos, a anatomia, os formatos e esquemas, os protocolos e o destino das mensagens;

- Explorar os principais padrões arquiteturais relacionados à EDA, como os padrões de entrega de evento, de comunicação de mudança de estado e os relacionados à resiliência e consistência da solução;

- Identificar os eventos de negócio por meio do EventStorming e como podemos documentar nossa solução utilizando AsyncAPI e CloudEvents;

- Reconhecer os tipos de brokers de eventos existentes no mercado e suas principais capacidades relacionadas aos padrões de implantação (deploy), à operação, à governança, ao gerenciamento de esquemas e ao fluxo de publicação e consumo dos eventos;

- Assimilar como podemos implementar a EDA em conjunto com outras arquiteturas e plataformas, como microsserviços, serverless e streaming de dados;

- Colocar em prática a definição e implementação de projetos de EDA de acordo com alguns casos de uso.

Saiba o que você vai aprender

 

Sumário

Parte I: Fundamentos

  • 1 Por que Arquitetura orientada a eventos?
  • 1.1 O que é exatamente Arquitetura orientada a eventos?
  • 1.2 Principais benefícios e desafios envolvidos
  • 1.3 Relação com o desenvolvimento de aplicações modernas
  • 1.4 Arquitetura orientada a eventos nas organizações e algumas previsões
  • 2 Entendendo os principais conceitos
  • 2.1 Componentes-chaves
  • 2.2 Tipos de mensagem
  • 2.3 Anatomia de uma mensagem
  • 2.4 Formato da mensagem
  • 2.5 Protocolo de mensagem
  • 2.6 Destino da mensagem
  • 2.7 Garantia de entrega da mensagem
  • 3 Padrões de arquitetura para a Arquitetura orientada a eventos
  • 3.1 Padrões de entrega de evento
  • 3.2 Padrões de comunicação de mudança de estado
  • 3.3 CQRS (Command Query Responsibility Segregation)
  • 3.4 Dead-letter queues (DLQ)
  • 3.5 First in, first out (FIFO)
  • 3.6 SAGA
  • 3.7 Transactional outbox
  • 3.8 Change data capture (CDC)
  • 3.9 Webhooks
  • 3.10 Segurança
  • 4 Identificando eventos de negócio e documentando nossa solução
  • 4.1 EventStorming
  • 4.2 AsyncAPI
  • 4.3 CloudEvents

Parte II: Broker de eventos

  • 5 Broker de eventos habilita a Arquitetura orientada a eventos
  • 5.1 O papel do broker de eventos na Arquitetura orientada a eventos
  • 5.2 Padrões de implantação (deploy)
  • 5.3 Operação e governança
  • 5.4 Gerenciamento de esquema
  • 6 Funcionalidades comuns de um broker no fluxo de publicação e consumo de eventos
  • 6.1 Interação da aplicação consumidora com base em push e pull
  • 6.2 Kit de desenvolvimento de software (SDK)
  • 6.3 Envio e recebimento de eventos em lote
  • 6.4 Roteamento inteligente
  • 6.5 Confirmação de entrega de eventos (Ack)
  • 6.6 Retenção do evento
  • 6.7 Reprodução do evento
  • 6.8 Visibilidade do evento
  • 6.9 Agendamento da entrega do evento
  • 7 Os tipos de brokers de eventos
  • 7.1 Broker orientado a fila
  • 7.2 Broker orientado a log
  • 7.3 Broker orientado a assinatura
  • 7.4 Como os fornecedores lidam com os diferentes tipos de brokers

Parte III: Arquitetura orientada a eventos e além

  • 8 Padrões arquiteturais que se beneficiam da Arquitetura orientada a eventos
  • 8.1 Arquitetura de microsserviços
  • 8.2 Arquitetura serverless
  • 8.3 Arquitetura de streaming de dados
  • 9 Arquitetura orientada a eventos no contexto de uma plataforma de integração
  • 9.1 O que é uma plataforma de integração
  • 9.2 O papel do gerenciamento de API
  • 9.3 O papel da plataforma de integração como serviço
  • 9.4 Arquitetura orientada a eventos e a plataforma de integração

Parte IV: Execução dos projetos de EDA

  • 10 Projeto 1 – Plataforma de e-commerce
  • 10.1 Entendendo o problema e definindo o escopo
  • 10.2 Requisitos funcionais, não funcionais e restrições
  • 10.3 Etapa 1: Escolha do broker de eventos e das arquiteturas e plataformas
  • 10.4 Etapa 2: Design da solução
  • 10.5 Etapa 3: Teste
  • 10.6 Etapa 4: Implementação
  • 10.7 Sugestões de desafios extras
  • 11 Projeto 2 – Envio de notificações de eventos para parceiros
  • 11.1 Entendendo o problema e definindo o escopo
  • 11.2 Requisitos funcionais, não funcionais e restrições
  • 11.3 Etapa 1: Escolha do broker de eventos e das arquiteturas e plataformas
  • 11.4 Etapa 2: Design da solução
  • 11.5 Etapa 3: Teste
  • 11.6 Etapa 4: Implementação
  • 11.7 Sugestões de desafios extras
  • 12 Projeto 3 – Rastreamento da frota de caminhões em tempo real
  • 12.1 Entendendo o problema e definindo o escopo
  • 12.2 Requisitos funcionais, não funcionais e restrições
  • 12.3 Etapa 1: Escolha do broker de eventos e das arquiteturas e plataformas
  • 12.4 Etapa 2: Design da solução
  • 12.5 Etapa 3: Teste
  • 12.6 Etapa 4: Implementação
  • 12.7 Sugestões de desafios extras
  • 13 Bibliografia

Autor

Roberto Picanço

Roberto Picanço é engenheiro de software desde 2007. Tem uma sólida experiência em integração de sistemas e sistemas distribuídos como desenvolvedor e arquiteto de soluções. Atuou como consultor e especialista de TI em uma variedade de setores da indústria, tais como financeiro, aviação, telecomunicação, energia e mídia. Desde 2018, ele tem ajudado empresas no desenvolvimento de aplicações modernas utilizando DDD, BDD, automação, microsserviços, arquitetura orientada a eventos (EDA) e computação em nuvem. Além disso, Roberto tem experiência em gerenciamento de produto, com foco em produtos relacionados a EDA e Integration Platform as a Service (iPaaS).

Dados do produto

Número de páginas:
302
ISBN:
978-85-5519-351-4
Data publicação:
10/2023

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter