BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Processamento de dados de alto desempenho com Spring Cloud Data Flow e Geode

Processamento de dados de alto desempenho com Spring Cloud Data Flow e Geode

Cahlen Humphreys e Tiffany Chang palestraram na Conferência SpringOne Platform 2019, sobre o processamento de dados com as estruturas Spring Cloud Data Flow, Pivotal Cloud Cache e Apache Geode.

Humphreys comentou sobre a diferença entre os frameworks Spring Cloud Data Flow e Spring Cloud Stream. O Spring Cloud Stream é o modelo de programação usado para desenvolver aplicações que serão implantadas com o Spring Cloud Data Flow. É fácil alternar os componentes de middleware (Binders) ao usar o Spring Cloud Stream sem precisar reescrever o código da aplicação.

Salientou também quais tipos de projetos são bons candidatos para usar o Geode. Se possuirmos grandes volumes de dados e precisamos de alta taxa de transferência com baixa latência, o Geode pode ser uma boa opção para o processamento de dados. O Apache Geode, que é open source desde 2017, fornece um modelo de consistência semelhante a um banco de dados, processamento confiável de transações e arquitetura shared-nothing.

Chang discutiu a escalabilidade horizontal e como configurar o cluster Geode com Locators e Servers usando a ferramenta Gemfire shell (gfsh). Para alta disponibilidade, devemos ter pelo menos três localizadores configurados. O cluster de armazenamento de dados do geode é escalável, independentemente das necessidades de escalabilidade da aplicação.

O geode suporta tolerância a falhas usando regiões particionadas e replicadas. A região é o principal componente do cluster do Apache Geode e todos os dados em cache são organizados em regiões de dados. As regiões fazem parte do cache, que é o ponto de entrada para o gerenciamento de dados do Geode.

Para desenvolvedores que usam o SpringBoot, o Geode oferece várias instruções para aproveitar o cache dos dados, incluindo @ClientCacheApplication, @Region, @EnableEntityDefinedRegions, @EnableGemfireRepositories e @EnablePdx.

Chang mostrou também uma aplicação de demonstração com um pipeline de dados usando as tecnologias Apache Kafka, Geode, Prometheus e Grafana. A aplicação usou um cluster local com um cluster Kubernetes do minikube e implantou um pipeline que extrai dados de um arquivo e enriquecia o payload com dados do Geode.

A aplicação, baseada no SpringBoot e no Spring Geode Starter, também usa o Micrometer para calcular a taxa de transferência e contar as métricas para enviar ao servidor de métricas. A arquitetura do pipeline de dados inclui uma fonte, um processador e um coletor. O pipeline de dados usa o Spring Cloud Stream, que permite alternar facilmente entre diferentes infraestruturas de mensagens como RabbitMQ ou Kafka.

Chang mostrou algumas métricas de amostra do Geode versus um banco de dados relacional como o Postgres.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT