Com o advento da computação distribuída via microservices, uma nova abordagem é necessária para lidar com consistência eventual inerente a distribuição. O pattern Event Source é muito adequado para este contexto e Kafka sua realização.
Legg-Calve-Perthes disease is a childhood condition caused by avascular necrosis of the femoral head. It leads to deformity of the femoral head and premature osteoarthritis. The exact cause is unknown but it is likely multifactorial, involving both genetic and environmental factors. Treatment depends on the age of the patient, extent of involvement, disease stage, and presence of head deformity. Younger patients often do well with non-operative treatment focusing on range of motion exercises, while older patients or those with more severe deformity may require surgical containment procedures like osteotomies to reshape the femoral head and acetabulum.
Moving from classic web development to a CMS like Umbraco:
- A CMS allows editing of content directly in the browser rather than uploading files, and stores content in a database rather than HTML files.
- With a CMS, the URL contains a key to the associated database record rather than directly linking to files.
- For development, you interact with the CMS interface rather than directly editing files, abstracting the underlying technical details.
El documento trata sobre el calcio en el cuerpo. Brevemente discute que el calcio es el catión más abundante localizado principalmente en los huesos y dientes, y existen diferentes formas de calcio en la sangre. Luego describe las causas y efectos de la hipercalcemia, hipocalcemia y niveles anormales de calcio iónico. Finalmente, resume diferentes métodos analíticos para medir el calcio, incluyendo métodos tradicionales, espectrofotométricos y complejométricos.
Managed File Transfer is a one-stop solution to all your file transfer problems. It is becoming the choice of the digital enterprise.
Lets look at the drawbacks of traditional FTP and SFTP for file transfers and understand how Software AG’s Active Transfer Solution for MFT can help us simplify and reduce file transfer chaos while improving performance, security, reliability, and visibility.
HCL Digital Experience is a digital experience platform that provides tools for creating personalized digital experiences across websites, applications, and channels. It includes capabilities for content management, forms, sites, personalization, integration, and deploying applications developed with JavaScript frameworks. Script applications allow leveraging common web development skills while still using the platform's management features and integrating applications without code deployment.
Este documento discute a migração de uma arquitetura baseada em ESB (Enterprise Service Bus) para MSA (Microservices Architecture) em nuvem. Ele descreve os principais conceitos de MSA, como microsserviços, Service Mesh e padrões de comunicação, e fornece uma estrutura de referência para a migração, incluindo estratégias como "strangler" e "extracting services".
Legg-Calve-Perthes disease is a childhood condition caused by avascular necrosis of the femoral head. It leads to deformity of the femoral head and premature osteoarthritis. The exact cause is unknown but it is likely multifactorial, involving both genetic and environmental factors. Treatment depends on the age of the patient, extent of involvement, disease stage, and presence of head deformity. Younger patients often do well with non-operative treatment focusing on range of motion exercises, while older patients or those with more severe deformity may require surgical containment procedures like osteotomies to reshape the femoral head and acetabulum.
Moving from classic web development to a CMS like Umbraco:
- A CMS allows editing of content directly in the browser rather than uploading files, and stores content in a database rather than HTML files.
- With a CMS, the URL contains a key to the associated database record rather than directly linking to files.
- For development, you interact with the CMS interface rather than directly editing files, abstracting the underlying technical details.
El documento trata sobre el calcio en el cuerpo. Brevemente discute que el calcio es el catión más abundante localizado principalmente en los huesos y dientes, y existen diferentes formas de calcio en la sangre. Luego describe las causas y efectos de la hipercalcemia, hipocalcemia y niveles anormales de calcio iónico. Finalmente, resume diferentes métodos analíticos para medir el calcio, incluyendo métodos tradicionales, espectrofotométricos y complejométricos.
Managed File Transfer is a one-stop solution to all your file transfer problems. It is becoming the choice of the digital enterprise.
Lets look at the drawbacks of traditional FTP and SFTP for file transfers and understand how Software AG’s Active Transfer Solution for MFT can help us simplify and reduce file transfer chaos while improving performance, security, reliability, and visibility.
HCL Digital Experience is a digital experience platform that provides tools for creating personalized digital experiences across websites, applications, and channels. It includes capabilities for content management, forms, sites, personalization, integration, and deploying applications developed with JavaScript frameworks. Script applications allow leveraging common web development skills while still using the platform's management features and integrating applications without code deployment.
Este documento discute a migração de uma arquitetura baseada em ESB (Enterprise Service Bus) para MSA (Microservices Architecture) em nuvem. Ele descreve os principais conceitos de MSA, como microsserviços, Service Mesh e padrões de comunicação, e fornece uma estrutura de referência para a migração, incluindo estratégias como "strangler" e "extracting services".
O documento descreve como implementar transações distribuídas entre microsserviços usando o padrão SAGA e a plataforma Apache Kafka. SAGA permite sequências de transações locais para substituir transações de longa duração em bancos de dados. Kafka fornece uma plataforma de mensagens para comunicação assíncrona entre serviços e processamento de eventos em tempo real.
Uma Arquitetura de Stream Processing e ETL Serverless na AWSMaycon Viana Bordin
O documento descreve uma arquitetura serverless de processamento de eventos e ETL na AWS, incluindo o uso do Kinesis para transporte de dados, Lambda para processamento, e S3 e Presto para armazenamento e análise de dados. Ele também discute os pontos fortes e fracos da arquitetura, como facilidade de escalonamento versus custos potencialmente altos, e próximos passos como autoatendimento de dados.
Como o iFood usou CQRS para escalar a contabilização de +30M de pedidos por m...Danilo Pereira De Luca
Nesta palestra pretendo falar uma das estratégias que tivemos para diminuir problemas na informação de pagamento das vendas de mais de 23 milhões de pedidos/mês divididos em mais de 120mil restaurantes, chegando a ser um dos principais tópicos de contact rate do Ifood. Uma das estratégias foi alterarmos quase todo modelo de dados em mais de 15 micro serviços distintos e como mitigar problemas na concorrência entre uma camada voltada para processamento de mais de 23 milhões de eventos em curtas janelas de tempo e outra camada de consulta de informações financeiras
1) O documento discute a arquitetura do sistema de transferências entre contas NuConta do Nubank, incluindo microsserviços, event sourcing e consistência em sistemas distribuídos.
2) É apresentado o fluxo de transferência entre contas, com ênfase nos requisitos de processamento at-least-once e idempotência para garantir a consistência.
3) O Backend for Frontends (BFF) com GraphQL é descrito como forma de fornecer dados de forma flexível para diferentes versões de frontend.
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
Thiago Lima é um empreendedor e especialista em tecnologia com mais de 30 anos de experiência desenvolvendo e liderando equipes de tecnologia. Ele falará sobre microsserviços, desde a decomposição de sistemas até práticas de monitoramento e resiliência.
TDC2018FLN | Trilha Arquitetura - Architecting for Resiliencetdc-globalcode
O documento discute arquitetura de software resiliente com três camadas principais: regras de negócio, escalabilidade e persistência. Apresenta princípios como Clean Architecture, orientação a eventos e resiliência para sistemas distribuídos complexos. Defende focar primeiro nas necessidades do negócio e implementar resiliência gradualmente, começando pelas funcionalidades essenciais.
O documento discute arquitetura de software resiliente com três camadas principais: regras de negócio, escalabilidade e persistência. Apresenta princípios como Clean Architecture, orientação a eventos e resiliência para sistemas distribuídos complexos. Defende focar primeiro nas necessidades do negócio e implementar resiliência gradualmente, começando pelas funcionalidades essenciais.
O documento apresenta uma introdução sobre virtualização e as vantagens de se virtualizar servidores e desktops. Em seguida, discute os fundamentos básicos de virtualização e os benefícios de se usar a tecnologia Hyper-V da Microsoft para virtualização, incluindo alta disponibilidade e balanceamento de carga por meio de live migration e failover clusters. Por fim, explica como o Virtual Machine Manager permite gerenciamento centralizado e provisionamento rápido de máquinas virtuais.
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
Este documento resume uma apresentação sobre computação em nuvem usando o serviço Windows Azure da Microsoft. Ele descreve como a demanda crescente por serviços online levou as empresas a adotarem soluções de nuvem para melhor escalabilidade e disponibilidade. O Windows Azure oferece infraestrutura e plataforma como serviço para desenvolvimento e hospedagem de aplicações na nuvem da Microsoft.
Sistemas de software costumam ficar cada vez mais difíceis de evoluir e manter na medida que o tempo passa e mais funcionalidades são adicionadas.
No Nubank, após 4 anos de evolução, adicionar novas funcionalidades é tão ou mais fácil do que era há 3 anos atrás. Nessa palestra vamos explorar as principais características que possibilitaram essa evolução rápida e contínua de funcionalidades, como exemplo: microsserviços com o escopo bem definido, integração assíncrona entre serviços usando Kafka, verificação de schemas nas integrações, Clojure e programação funcional.
Arquitetando uma instituição financeira moderna - Lucas CavalcantiiMasters
Lucas Cavalcanti - Principal Engineer, Nubank
Sistemas de software costumam ficar cada vez mais difíceis de evoluir e manter na medida que o tempo passa e mais funcionalidades são adicionadas.
No Nubank, após 4 anos de evolução, adicionar novas funcionalidades é tão ou mais fácil do que era há 3 anos atrás. Nessa palestra vamos explorar as principais características que possibilitaram essa evolução rápida e contínua de funcionalidades, como exemplo: microsserviços com o escopo bem definido, integração assíncrona entre serviços usando Kafka, verificação de schemas nas integrações, Clojure e programação funcional.
Apresentado no InterCon 2018
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
1) O documento discute a arquitetura de microserviços, como decompor uma aplicação monolítica em serviços independentes e como eles se comunicam.
2) Apresenta os benefícios da arquitetura de microserviços como escalabilidade independente, deploy autônomo e equipes focadas, mas também desafios como integração e falhas.
3) Exemplifica a decomposição de uma loja virtual em microserviços como pedidos, produtos, preços e estoque que se comunicam via REST ou mensageria.
O documento apresenta os principais conceitos de microsserviços e Service Mesh, incluindo: 1) A arquitetura de microsserviços permite dividir um sistema complexo em serviços independentes com baixo acoplamento; 2) Service Mesh fornece funcionalidades comuns como descoberta de serviço, balanceamento de carga e circuit breaker de forma externa aos microsserviços; 3) Kubernetes e containers são amplamente usados para implantar microsserviços de forma escalável.
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços MóveisEiti Kimura
O documento descreve como a Apache Cassandra foi usada para desenvolver aplicações móveis para a Movile, uma empresa líder em serviços móveis na América Latina. A Cassandra forneceu alta disponibilidade, desempenho e escalabilidade para lidar com volumes crescentes de dados de assinaturas. A arquitetura de cluster da Cassandra permitiu que a Movile atendesse milhões de usuários com latências de leitura e escrita baixas.
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços MóveisDataStax Academy
O documento descreve como a Apache Cassandra foi usada para desenvolver aplicações móveis para a Movile, uma empresa líder em serviços móveis na América Latina. A Cassandra forneceu alta disponibilidade, desempenho e escalabilidade para lidar com volumes crescentes de dados de assinaturas. Testes mostraram latências de leitura e gravação baixas com Cassandra.
Gerenciamento de configuração com puppetElton Simões
Esta apresentação introduz a ferramenta open-source Puppet para gerenciamento de configuração em ambientes de grande porte. Puppet permite automatizar e padronizar a configuração de centenas de servidores de forma centralizada, resolvendo problemas comumente enfrentados em ambientes manuais como falta de documentação e inconsistências.
1) O documento é um webcast sobre arquitetura de nuvem que discute conceitos como computação em nuvem, Cloud Computing e como profissionais de TI podem usar esses recursos.
2) É apresentado um diálogo fictício entre Luciano, um profissional de TI, e o palestrante onde Luciano expressa dúvidas sobre computação em nuvem e o palestrante fornece explicações.
3) Conceitos como arquitetura de aplicações na nuvem, serviços do Azure como SQL Azure e armazenamento são explicados para mostrar
Como montar um ambiente de alta disponibilidade com o Hyper-VRodrigo Immaginario
O documento discute como configurar um ambiente de alta disponibilidade usando o Hyper-V. Ele explica como o failover clustering e o Hyper-V permitem mobilidade de VM e aumentam a disponibilidade. Também discute as diferenças entre host e guest clustering e como eles podem ser combinados para fornecer proteção adicional.
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
Mais conteúdo relacionado
Semelhante a Event source com Kafka em uma Fintech
O documento descreve como implementar transações distribuídas entre microsserviços usando o padrão SAGA e a plataforma Apache Kafka. SAGA permite sequências de transações locais para substituir transações de longa duração em bancos de dados. Kafka fornece uma plataforma de mensagens para comunicação assíncrona entre serviços e processamento de eventos em tempo real.
Uma Arquitetura de Stream Processing e ETL Serverless na AWSMaycon Viana Bordin
O documento descreve uma arquitetura serverless de processamento de eventos e ETL na AWS, incluindo o uso do Kinesis para transporte de dados, Lambda para processamento, e S3 e Presto para armazenamento e análise de dados. Ele também discute os pontos fortes e fracos da arquitetura, como facilidade de escalonamento versus custos potencialmente altos, e próximos passos como autoatendimento de dados.
Como o iFood usou CQRS para escalar a contabilização de +30M de pedidos por m...Danilo Pereira De Luca
Nesta palestra pretendo falar uma das estratégias que tivemos para diminuir problemas na informação de pagamento das vendas de mais de 23 milhões de pedidos/mês divididos em mais de 120mil restaurantes, chegando a ser um dos principais tópicos de contact rate do Ifood. Uma das estratégias foi alterarmos quase todo modelo de dados em mais de 15 micro serviços distintos e como mitigar problemas na concorrência entre uma camada voltada para processamento de mais de 23 milhões de eventos em curtas janelas de tempo e outra camada de consulta de informações financeiras
1) O documento discute a arquitetura do sistema de transferências entre contas NuConta do Nubank, incluindo microsserviços, event sourcing e consistência em sistemas distribuídos.
2) É apresentado o fluxo de transferência entre contas, com ênfase nos requisitos de processamento at-least-once e idempotência para garantir a consistência.
3) O Backend for Frontends (BFF) com GraphQL é descrito como forma de fornecer dados de forma flexível para diferentes versões de frontend.
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
Thiago Lima é um empreendedor e especialista em tecnologia com mais de 30 anos de experiência desenvolvendo e liderando equipes de tecnologia. Ele falará sobre microsserviços, desde a decomposição de sistemas até práticas de monitoramento e resiliência.
TDC2018FLN | Trilha Arquitetura - Architecting for Resiliencetdc-globalcode
O documento discute arquitetura de software resiliente com três camadas principais: regras de negócio, escalabilidade e persistência. Apresenta princípios como Clean Architecture, orientação a eventos e resiliência para sistemas distribuídos complexos. Defende focar primeiro nas necessidades do negócio e implementar resiliência gradualmente, começando pelas funcionalidades essenciais.
O documento discute arquitetura de software resiliente com três camadas principais: regras de negócio, escalabilidade e persistência. Apresenta princípios como Clean Architecture, orientação a eventos e resiliência para sistemas distribuídos complexos. Defende focar primeiro nas necessidades do negócio e implementar resiliência gradualmente, começando pelas funcionalidades essenciais.
O documento apresenta uma introdução sobre virtualização e as vantagens de se virtualizar servidores e desktops. Em seguida, discute os fundamentos básicos de virtualização e os benefícios de se usar a tecnologia Hyper-V da Microsoft para virtualização, incluindo alta disponibilidade e balanceamento de carga por meio de live migration e failover clusters. Por fim, explica como o Virtual Machine Manager permite gerenciamento centralizado e provisionamento rápido de máquinas virtuais.
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
Este documento resume uma apresentação sobre computação em nuvem usando o serviço Windows Azure da Microsoft. Ele descreve como a demanda crescente por serviços online levou as empresas a adotarem soluções de nuvem para melhor escalabilidade e disponibilidade. O Windows Azure oferece infraestrutura e plataforma como serviço para desenvolvimento e hospedagem de aplicações na nuvem da Microsoft.
Sistemas de software costumam ficar cada vez mais difíceis de evoluir e manter na medida que o tempo passa e mais funcionalidades são adicionadas.
No Nubank, após 4 anos de evolução, adicionar novas funcionalidades é tão ou mais fácil do que era há 3 anos atrás. Nessa palestra vamos explorar as principais características que possibilitaram essa evolução rápida e contínua de funcionalidades, como exemplo: microsserviços com o escopo bem definido, integração assíncrona entre serviços usando Kafka, verificação de schemas nas integrações, Clojure e programação funcional.
Arquitetando uma instituição financeira moderna - Lucas CavalcantiiMasters
Lucas Cavalcanti - Principal Engineer, Nubank
Sistemas de software costumam ficar cada vez mais difíceis de evoluir e manter na medida que o tempo passa e mais funcionalidades são adicionadas.
No Nubank, após 4 anos de evolução, adicionar novas funcionalidades é tão ou mais fácil do que era há 3 anos atrás. Nessa palestra vamos explorar as principais características que possibilitaram essa evolução rápida e contínua de funcionalidades, como exemplo: microsserviços com o escopo bem definido, integração assíncrona entre serviços usando Kafka, verificação de schemas nas integrações, Clojure e programação funcional.
Apresentado no InterCon 2018
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
1) O documento discute a arquitetura de microserviços, como decompor uma aplicação monolítica em serviços independentes e como eles se comunicam.
2) Apresenta os benefícios da arquitetura de microserviços como escalabilidade independente, deploy autônomo e equipes focadas, mas também desafios como integração e falhas.
3) Exemplifica a decomposição de uma loja virtual em microserviços como pedidos, produtos, preços e estoque que se comunicam via REST ou mensageria.
O documento apresenta os principais conceitos de microsserviços e Service Mesh, incluindo: 1) A arquitetura de microsserviços permite dividir um sistema complexo em serviços independentes com baixo acoplamento; 2) Service Mesh fornece funcionalidades comuns como descoberta de serviço, balanceamento de carga e circuit breaker de forma externa aos microsserviços; 3) Kubernetes e containers são amplamente usados para implantar microsserviços de forma escalável.
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços MóveisEiti Kimura
O documento descreve como a Apache Cassandra foi usada para desenvolver aplicações móveis para a Movile, uma empresa líder em serviços móveis na América Latina. A Cassandra forneceu alta disponibilidade, desempenho e escalabilidade para lidar com volumes crescentes de dados de assinaturas. A arquitetura de cluster da Cassandra permitiu que a Movile atendesse milhões de usuários com latências de leitura e escrita baixas.
QConSP 2014 - Cassandra no Desenvolvimento de Aplicações para serviços MóveisDataStax Academy
O documento descreve como a Apache Cassandra foi usada para desenvolver aplicações móveis para a Movile, uma empresa líder em serviços móveis na América Latina. A Cassandra forneceu alta disponibilidade, desempenho e escalabilidade para lidar com volumes crescentes de dados de assinaturas. Testes mostraram latências de leitura e gravação baixas com Cassandra.
Gerenciamento de configuração com puppetElton Simões
Esta apresentação introduz a ferramenta open-source Puppet para gerenciamento de configuração em ambientes de grande porte. Puppet permite automatizar e padronizar a configuração de centenas de servidores de forma centralizada, resolvendo problemas comumente enfrentados em ambientes manuais como falta de documentação e inconsistências.
1) O documento é um webcast sobre arquitetura de nuvem que discute conceitos como computação em nuvem, Cloud Computing e como profissionais de TI podem usar esses recursos.
2) É apresentado um diálogo fictício entre Luciano, um profissional de TI, e o palestrante onde Luciano expressa dúvidas sobre computação em nuvem e o palestrante fornece explicações.
3) Conceitos como arquitetura de aplicações na nuvem, serviços do Azure como SQL Azure e armazenamento são explicados para mostrar
Como montar um ambiente de alta disponibilidade com o Hyper-VRodrigo Immaginario
O documento discute como configurar um ambiente de alta disponibilidade usando o Hyper-V. Ele explica como o failover clustering e o Hyper-V permitem mobilidade de VM e aumentam a disponibilidade. Também discute as diferenças entre host e guest clustering e como eles podem ser combinados para fornecer proteção adicional.
Semelhante a Event source com Kafka em uma Fintech (20)
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
4. processo ‘xyz’ de negócio
Microserviços
- Processos complexos de negócio se “espalham” por mais de
um serviço
- Comunicação entre eles via HTTP REST
1
4
2 3
HTTP HTTP
HTTP
5. processo ‘xyz’ de negócio
Microserviços
1
4
2 3
Sucesso total, mas ...
Durante o intervalo de
execução, o processo ‘xyz’
esteve sempre em um estado
consistente ?
duração: 600ms
7. Microserviços
Em uma simples chamada HTTP síncrona …
[2] pode gerar lentidão em [1]
[2] pode derrubar todo sistema
[1] não sabe se [2] funcionou ou não
[1] precisa “desfazer” se [2] realmente
falhou
1 2
10. Microserviços
- Não há acesso direto ao modelo de dados
- Propositalmente, estão encapsulados
- Modelo evolui sem dependências externas
- Time decide como ele será e quais tecnologias
15. Eventos ...
Sistemas se comunicarem por meio de eventos não é uma
novidade (Event-Driven)
- O produtor emite um evento que retrata uma
mudança em seu estado
- Outro sistema captura esse evento, trata,
eventualmente muda seu estado e emite outro
evento
16. Eventos ...
Eventos são fatos, representam o passado
São por definição Imutáveis
- Representam mudanças em entidades de domínio
- Contam uma história precisa de todo o ciclo de
vida dessas entidades
17. Eventos ...
Sem dependência direta entre
serviços (async)
Consistência eventual
Plataforma de Eventos é para
onde tudo flue
processo ‘xyz’ de negócio
4
2
3 Plataforma
de Eventos
1
1
4
2 3
19. Eventos Financeiros
Mudanças de estado de saldos (balance)
- Há sempre um evento atrelado
- Um Lançamento Financeiro (entry)
- Auditável
- Rastreável
- Traduzidos para uma visão amigável
20. Eventos
Eventos são fatos, representam o passado.
São por definição Imutáveis
- Representam mudanças em entidades de domínio
- Contam uma história precisa de todo o
ciclo de vida dessas entidades
21. Event Sourcing
“Event Sourcing happens when we can entirely
derive the state of an application by
processing the log of Domain Events”
Martin Fowler
22. Event Sourcing
Persistência de cada uma das mudanças
sofridas pela entidade que comprove seu
estado atual
- Log da entidade
29. Kafka
“Event sourcing and Apache Kafka are related. Here’s
how – Event sourcing involves maintaining an immutable
sequence of events that multiple applications can
subscribe to. Kafka is a high-performance,
low-latency, scalable and durable log”
Neha Narkhede
32. Restrições: ORM, RDBMS, CRUD
- Modelo de Domínio não precisa ORM (DDD)
- Alteração em entidades de domínio geram
eventos - event sourcing
- Eventos vão para o Kafka e nele persistidos
- O modelo de escrita != leitura
33. Escrita != Leitura
- Modelo onde eventos são persistidos não
atende as necessidades de leitura
- O modelo de Leitura precisa ser
especializado para esta função
- Uma visão derivada dos eventos
35. Decifrando Várias visões podem ser
derivadas processando o stream:
Relacional, BI, ElasticSearch,
Graph
Eventos são a fonte
da verdade e fluem
pelo Kafka
continuamente, um
stream
37. CQRS
“The processing of commands and queries is
fundamentally asymmetrical, and scaling the
services symmetrically does not make a lot
of sense”
Greg Young
38. CQRS
Padrão ao se construir nova app:
1. Criar modelo Relacional
2. Mapear modelo Relacional (ORM)
3. Implementar DAO - Repository
4. Fazer o resto …
47. Kafka Connect
“Kafka Connect é uma ferramenta para, de
forma escalável e confiável, fazer
streaming de dados entre o Kafka e
outros sistemas”
confluent inc
50. Beckenbauer - Stream Process - Joins
Dados
Transacionais
Dados
Financeiros
Movimento
Algo comum com stream process:
- junção de 2 streams gerando
um terceiro stream
59. Futuro
Se aprofundar mais nessa abordagem
- Não fazer “dual writes”
- Menos connect de “source”
- CQRS Elastic Search, etc
- Stream process stateful
- Melhorar infra e operação
- Contribuir mais com comunidade
61. Rodrigo Montanha Gabriel Queiroz Lucas França
William Souza Allan Pires Guilherme Sipoloni
time moip
62. Pessoas-Chave
Gwen Shapira @gwenshap
Neha Narkhede @nehanarkhede
Jay Kreps @jaykreps
Martin Kleppmann @martinkl
Eno Thereska @enothereska
Greg Young http://goodenoughsoftware.net/