Ao longo dos últimos anos, as organizações perceberam uma lacuna cada vez mais importante em sua infraestrutura de dados. Tradicionalmente, as organizações se concentraram em fornecer um lugar para armazenar dados. Mas, para fazer uso de dados, as organizações perceberam que está faltando um método eficiente para enviar estes dados ao destino desejado como por exemplo aplicativos. Esta lacuna de envio e recebimento eficiente de dados está sendo preenchida por plataformas de transmissão como o Apache Kafka.
Mas afinal o que é Apache Kafka?
Em poucas palavras, Apache Kafka é uma plataforma distribuída de mensagens e streaming. Streaming são dados gerados continuamente por milhares de fontes de dados, que geralmente enviam os registros de dados simultaneamente, em tamanhos pequenos. O Apache Kafka foi criado pela Linkedin e tornou-se um projeto open-source em 2011. Grandes empresas como Airbnb, a Netflix e a Goldman Sachs estão usando o Apache Kafka.
Mas como o kafka funciona?
As aplicações, também conhecidas como produtores, enviam mensagens para um nó do Apache Kafka (intermediário) e estas mensagens são processadas por outros aplicativos, também chamados consumidores. As mensagens são armazenadas em um tópico e os consumidores se inscrevem nos tópicos para receberem novas mensagens.
Como os tópicos podem ficar com muitas mensagens, eles são divididos em partições com tamanho menor para melhor desempenho e escalabilidade. Para explicar melhor as partições, vamos a um exemplo: em um cenário que tem como necessidade processar as requisições dos usuários, pode-se dividir estas requisições em várias partições a partir do primeiro caractere do login do usuário. Analogamente, as requisições dos usuários são o tópico e dividir pelo primeiro caracter são as partições. O Kafka garante que todas as mensagens dentro de uma partição são ordenadas na sequência em que elas chegaram.
Quando devo utilizar o Kafka?
O kafka é perfeito para usar como o coração da arquitetura do seu sistema, atuando como um meio centralizado que conecta diferentes aplicativos. Kafka pode ser o elemento central de uma arquitetura orientada a eventos e permite que você realmente desacople os aplicativos um dos outros.
Estudo de caso: um banco
Nos últimos anos, o Rabobank vem investindo ativamente em se tornar um banco em tempo real e baseado em eventos. O Rabobank usa uma configuração do Kafka onde os clusters Kafka funcionam como múltiplos centros de dados de forma simétrica. Isso permite operações continuadas durante cenários de desastre e janelas de manutenção planejada, permitindo um funcionamento sem pausa de todas as operações digitais bancárias.
O Kafka é um elemento muito importante no Big Data. Com ele consegue-se mover grandes quantidades de dados entre os sistemas. Aproveite e confira nossos cursos e em breve começaremos a gravação do curso de Big Data. Kafka é um componente muito importante do Big Data.
Prof. Fabrizio Borelli
#developer
#programador
#profissionaldeTI
#TI
#profissionaldofuturo
#bigData
#kafka