TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we had a SRE team at - Aplicando Event Driven Architecture com microserviços e Kafka
O documento discute a aplicação de arquitetura baseada em eventos e microserviços usando Kafka para resolver os desafios de um gestor financeiro pessoal. Ele explica como Kafka permite a comunicação assíncrona e de baixo acoplamento entre microserviços, permitindo que eles processem grandes volumes de dados de forma escalonável e tolerante a falhas.
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
More Related Content
Similar to TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we had a SRE team at - Aplicando Event Driven Architecture com microserviços e Kafka
Webinar de Final de Ano WSO2: Novidades e Atualizações em nossa plataformaWSO2
Similar to TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we had a SRE team at - Aplicando Event Driven Architecture com microserviços e Kafka (20)
TDC2017 | São Paulo - Trilha Microservices Coaching I How we figured out we had a SRE team at - Aplicando Event Driven Architecture com microserviços e Kafka
1. Globalcode – Open4education
Microservices – Aplicando Event Driven Architecture
com microserviços e Kafka
Davi de Lima Gardin / Fabio Margarito
Arquitetura de solução
2. Globalcode – Open4education
Agenda
Recapitulando Microserviços
The case “Gestor Financeiro”
Aplicando Microserviços/Event Driven Architecture para a solução do problema
Utilizando o Kafka como peça que habilita (EDA)
Fechando
4. Globalcode – Open4education
Microserviço é um estilo arquitetural, uma abordagem para desenvolver uma única aplicação como um
conjunto de “pequenos serviços”, cada serviço rodando em seu próprio processo e comunicando entre
eles através de um protocolo leve, frequentemente construção de APIs (Interface de programação de
aplicações) sobre HTTP.
Definição
5. Globalcode – Open4education
o Componentização via serviços
o Organizado em torno de capacidades de negócio
o Produtos e não projetos
o Endpoints inteligentes e fluxo de comunicação simples
o Governança descentralizada
o Governança de dados descentralizada
o Automação de infraestrutura
o Projetar para falha
o Projeto evolucionário
Características
6. Globalcode – Open4education
o Componentização via serviços
o Organizado em torno de capacidades de negócio
o Produtos e não projetos
o Endpoints inteligentes e fluxo de comunicação simples
o Governança descentralizada
o Governança de dados descentralizada
o Automação de infraestrutura
o Projetar para falha
o Projeto evolucionário
Características
7. Globalcode – Open4education
Premissas Nossa Visão
Pré-requisitos Nossa visão
1. Cloud Native
2. Monitoramento
3. DevSecOps
4. Domain Driven Design
1.Bounded Context
5. Cultura Organizacional
1.Mudança na forma de organizar os times – Conways Law
8. Globalcode – Open4education
Premissas Nossa Visão
Pré-requisitos Nossa visão
1. Cloud Native
2. Monitoramento
3. DevSecOps
4. Domain Driven Design
1.Bounded Context
5. Cultura Organizacional
1.Mudança na forma de organizar os times – Conways Law
10. Globalcode – Open4education
O Problema
Construir um gestor financeiro pessoal para o Cliente objetivando:
1. Melhorar a experiência do usuário
2. Criando uma ”categorizar” automaticamente de cada lançamento
3. Diminuindo o consumo de MIP’s através de Offload de dados do
Mainframe
11. Globalcode – Open4education
O Problema
Construir um gestor financeiro pessoal para o Cliente objetivando:
1. Melhorar a experiência do usuário
12. Globalcode – Open4education
O Problema
Construir um gestor financeiro pessoal para o Cliente objetivando:
2. Criando uma ”categorizar” automaticamente de cada lançamento
13. Globalcode – Open4education
O Problema
Construir um gestor financeiro pessoal para o Cliente objetivando:
3. Diminuindo o consumo de MIP’s através de Offload de dados do
Mainframe
14. Globalcode – Open4education
Desafio
1. 59 milhões de contas.
2. 70 milhões de lançamentos Batch e 40 milhões de lançamento On-Line
3. 60 GB de dados diários de carga de dados Batch
4. 15 minutos de janela para processamento batch
5. Manter a mesma arquitetura para Batch e OnLine
6. Efetuar repacking do texto do da literal do extrato
7. Categorizar automaticamente para o cliente
8. Democratização dos dados
21. Globalcode – Open4education
Event Driven way
É um padrão de arquitetura de software promovendo a produção, detecção, consumo e reação a eventos
Características:
“Real time”
Assíncrono
Reação imediata
Informacionais
Vantagens:
Baixo acoplamento
Arquitetura flexível
Performance / Escalabilidade
Desvantagens:
Complexidade
27. Globalcode – Open4education
O que é Kafka?
Uma plataforma de streaming(transmissão) distribuído
Características:
Persistência de mensagens
Alto throughput (LinkedIn > 1 trilhão de eventos)
Fault-tolerant
Sequência de mensagens ordenadas(log)
33. Globalcode – Open4education
O que aprendemos ?
1. A cultura engole a inovação, seja persistente
1. Utilize Microserviços e arquitetura baseada em eventos, se realmente
houver a necessidade, pois a complexidade é grande
2. Prática do Domain Driven Design foi fundamental para modelar os
serviços
3. Sempre necessário um objetivo claro e um case
34. Globalcode – Open4education
O que vem pela frente?
1. Governança de Microservices
2. Service Discovery
3. Conteinerização
4. Governança do eventos / Linhagem / Democratização de dados
5. Segurança (Producer / Consumer)
6. Kafka como HUB central de dados
7. Consumidores Idempotentes