
Vamos começar entendendo o que é Arquitetura orientada a Eventos ou EDA
Precisamos entender bem esses conceitos fundamentais.
Vamos estressar um pouco esse universo de técnicas, padrões e ferramentas para sistemas baseados em eventos
Veremos alguns conceitos de comunicação assíncrona.
Chegou o momento de "botar a mão na massa". Vamos fazer um caso de comunicação assíncrona.
A forma de comunicação assíncrona Publish-subscribe, também conhecida como "tópico", permite enviarmos uma mensagem para quaisquer interessados no tópico. Todos receberão a mensagem.
Vejamos essas duas questões, como afetam o processamento e como podemos evitá-las.
Vamos ver como configurar uma fila de dead letter para mensagens problemáticas.
Veremos agora como é a arquitetura de microsserviços
Veremos como implementar orquestração de serviços Python com Apache Airflow e NetflixOSS Eureka.
Veremos agora como funciona o padrão de coreografia de serviços.
Vamos entender o que é e para que serve o padrão "Saga" e como implementar utilizando Python e RabbitMQ.
Event sourcing é um padrão muito utilizado em sistemas baseados em eventos, e event store é o mecanismo para persistir os eventos.
Veremos uma introdução à computação de borda.
Vamos conectar um Arduino e criar um programa para ele.
Vamos ver como implementar um sensor simples com Arduino e um concentrador em Python
Veremos como funcionam os atuadores e montaremos um circuito de medição de temperatura com um atuador.
Veremos como nos comunicarmos de forma eficiente com os dispositivos de borda.
Veremos uma introdução aos dois tipos básicos de processamento de eventos: Processamento de streaming e CEP - Complex Event Processing.
Estudaremos como processar stream de eventos em tempo real com Kafka e Python
O Apache Flink com a interface Table e a interface SQL facilita muito o processamento de eventos.
Uma breve introdução ao projeto final do curso.
Como nosso projeto é baseado em eventos, e eles serão coletados a partir de equipamentos industriais, temos que criar uma camada de computação de borda.
Agora precisamos verificar padrões de eventos complexos e tomar atitudes para desligar os equipamentos.
Agora, vamos criar um módulo para permitir executar as funções da UI do usuário, conforme os requisitos.
Este curso é uma jornada abrangente pelo mundo dos sistemas baseados em eventos, explorando a arquitetura orientada a eventos (EDA) e suas várias tecnologias e componentes associados. Destinado a desenvolvedores, arquitetos de software e profissionais de TI, o curso oferece uma mistura equilibrada de teoria e prática, permitindo aos participantes desenvolver uma compreensão sólida e habilidades práticas em tecnologias emergentes como Event Streaming, Event Store e Event Sourcing.
Atenção: Este curso pode não ser adequados para desenvolvedores iniciantes. Leia bem a descrição do curso antes de adquirir.
1. Os exemplos serão dados na linguagem Python.
2. Utilizaremos Docker sempre que possível.
3. Espera-se que você tenha conhecimentos básicos em Python e Docker.
4. Os exemplos são dados em sistema operacional Linux.
Ferramentas:
- NetflixOSS Eureka
- Apache Kafka, Apache Flink, Apache Airflow
- RabbitMQ
- Arduino
- Mosquitto - MQTT Broker
- Python, Faust, EventSourcing - Python
Módulos do Curso:
1. Introdução à Arquitetura Orientada a Eventos (EDA)
2. Comunicação assíncrona
3. Padrões utilizados em sistemas baseados em eventos
4. Computação de borda
5. Processamento de eventos
6. Projeto final
Será desenvolvido um projeto final, camada por camada, composto por coletores de eventos baseados em IoT (Arduino), counicando-se com MQTT e Kafka. E utilizaremos eventsourcing para armazenar o estado de eventos e CEP para detectar eventos complexos e anomalias.
Metodologia:
O curso combina palestras interativas, demonstrações práticas, estudos de caso detalhados e projetos hands-on. Os participantes terão a oportunidade de trabalhar com as últimas ferramentas e tecnologias, ganhando experiência prática sob a orientação de instrutores experientes.
Público-Alvo:
Este curso é ideal para desenvolvedores de software, arquitetos de sistemas, engenheiros de dados e qualquer profissional de TI interessado em aprofundar seus conhecimentos em arquitetura orientada a eventos e tecnologias relacionadas.
Pré-requisitos:
Conhecimento básico de programação e compreensão dos conceitos fundamentais de sistemas e software. Experiência com bancos de dados e arquitetura de software é benéfica, mas não obrigatória.
Objetivos de Aprendizagem:
Ao final deste curso, os participantes serão capazes de:
- Compreender os princípios e vantagens da Arquitetura Orientada a Eventos.
- Implementar soluções práticas usando Event Streaming, Event Store e Event Sourcing.
- Desenvolver e integrar sistemas robustos e escaláveis baseados em eventos.
Inscreva-se neste curso para desbloquear o potencial dos sistemas baseados em eventos e elevar suas habilidades em arquitetura de software para o próximo nível!