Arquitetura de Microsserviços: Padrão Saga Orquestrado
Com Java 17, Spring Boot 3, Apache Kafka, PostgreSQL, MongoDB, Docker e docker-compose!
Description
Neste curso, serão abordados os conceitos de padrões de desenvolvimento de arquitetura de microsserviços em um de seus quesitos mais importantes: lidar com transações distribuídas e tratamento de falhas.
Iremos abordar os conceitos teóricos por trás de transações distribuídas, two-phase commit protocol (2PC), padrão Saga Orquestrado e Coreografado, e padrão Outbox.
Neste curso, implementaremos o padrão Saga Orquestrado em uma arquitetura de microsserviços com Java 17 e Spring Boot 3.
Para isso, utilizaremos Docker e docker-compose para subir toda a nossa arquitetura com facilidade.
Utilizaremos 2 bancos de dados, PostgreSQL e MongoDB.
Utilizaremos o Apache Kafka para a comunicação dos eventos e orquestração da nossa saga.
Criaremos 5 APIs, em que uma será apenas o orquestrador da saga, 3 microsserviços participantes e um microsserviços de realização de pedido.
Ao final deste curso, você compreenderá as diferenças entre os padrões de microsserviços, os conceitos de transações distribuídas, e como realizar tratativa de erros em diversos serviços, assim como sua implementação.
Você também estará apto a desenvolver aplicações distribuídas com orientação a eventos (Apache Kafka) e trabalhar com Java 17 e o framework Spring Boot na versão 3, porém, o conteúdo do curso é sobre um padrão de arquitetura, e não sobre uma tecnologia específica, ou seja, com o conhecimento adquirido, você conseguirá aplicar a mesma abordagem em qualquer outra tecnologia que permita o desenvolvimento de microsserviços.
SEÇÃO BÔNUS
Foi adicionada a Seção 11 como um bônus, realizando a conversão de toda a arquitetura desenvolvida para o Padrão Saga Coreografado, desta forma, os alunos terão o conhecimento de como implementar as duas abordagens do Padrão Saga, e também compreenderão quando implementar cada abordagem dependendo da necessidade.
What You Will Learn!
- Conceitos, abordagens e estratégias para tratamento de transações distribuídas
- Conceitos, abordagens e estratégias para implementação do padrão Saga Orquestrado
- Conceitos, abordagens e estratégias para implementação de uma arquitetura orientada a eventos
- Implementação de padrão Saga Orquestrado com Java 17, Spring Boot 3 e Apache Kafka
- Utilização dos bancos de dados MongoDB e PostgreSQL numa arquitetura Saga
- Boas práticas de implementações de padrões em microsserviços
- Implementação do Padrão Saga Coreografado (Seção bônus ao final do curso)
Who Should Attend!
- Desenvolvedores Back-End (nível intermediário)
- Desenvolvedores Java (nível intermediário)
- Desenvolvedores que atuam com microsserviços e/ou aplicações distribuídas