Uma pequena introdução a Event Souring e Kafka em uma arquitetura de microsserviços.
A Demo foi criada com Vertx, AngularJS, Ansible, Vagrant e Kafka.
Pode ser encontrada em: https://github.com/mgohashi/event-streams
2. Globalcode – Open4education
Sobre mim
Marcelo Ohashi
• Arquiteto, consultor, developer a mais de 16 anos
• Java e outras
• Atualmente sou Arquiteto na Red Hat
• Integração, Microsserviços, Containers
• App Lifecycle, Ansible, Openshift
twitter: @mgohashi
mohashi@gmail.com
5. Globalcode – Open4education
APIs
/order/{orderId} - POST, GET, etc
/client/{clientId} - POST, GET, etc
APIs
/machine/{machineId}/work -
POST, etc
etc…
APIs
/product/{prodId}
etc…
Modelo da aplicação
6. Globalcode – Open4education
Características
● Menor complexidade
● Otimizado para consumir poucos recursos (CPU e memória)
● Baixo acoplamento entre os serviços
● Flexibilidade para adicionar/ modificar um componente no sistema
● Resiliência em situações adversas
12. Globalcode – Open4education
Kafka
Histórico
● Criado no LinkedIn
● Escrito em Scala e Java
● Monitoração de serviços e servidores
● Virou open source em 2011
● Em 2015 atingiu 1,1 Trilhão de mensagens
por dia no LinkedIn
15. Globalcode – Open4education
Kafka
Event Sourcing com Kafka
● Garantia de ordem
● Cluster de brokers e partitions
● Log de eventos replicável
● Flexibilidade de configurações de Tópicos
● Streams [Window], Connectors
● Replay de eventos