Arquitetura Orientada a Eventos Soluções escaláveis e em tempo real com EDA
Roberto PicançoConteú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.
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