Você sabe o que é Apache Kafka? Em resumo, é uma plataforma de streaming usada por desenvolvedores para lidar com o processamento de dados em tempo real. Ela foi criada pela equipe de desenvolvedores do LinkedIn. Confira os detalhes neste conteúdo.
Para o desenvolvedor, conhecer os termos técnicos é importante para ter um melhor desempenho na sua carreira. Por isso, a Coodesh mantém o Dicionário Tech, com novos conteúdos a cada semana. O tema de hoje é esta plataforma muito útil nos sistemas corporativos. Veja a seguir a definição do que é Apache Kafka.
Definição de Apache Kafka
Apache Kafka é uma plataforma de código aberto, criada pelo LinkedIn para ser uma plataforma de streaming de eventos distribuída. Hoje, ela é mantida pela Apache Software Foundation. A plataforma foi escrita em Scala e Java e é muito utilizada por developers que buscam mais eficiência.
Mas o que o nome da ferramenta tem a ver com o escritor Franz Kafka? Segundo uma postagem feita no site Quora, em 2014, um dos desenvolvedores da plataforma, Jay Kreps, disse que escolheu este nome em referência ao mencionado escritor, famoso no século XX e autor de clássicos como “A Metamorfose”. Ele teria dito que a escolha se deu porque, assim como o escritor, a plataforma também era otimizada para escrever.
Criação do Apache Kafka
O Apache Kafka foi criado por desenvolvedores do LinkedIn. O código se tornou público em 2011. Apenas três anos depois, os especialistas que trabalhavam com a plataforma no LinkedIn (Jun Rao, Jay Kreps, e Neha Narkhede) abriram uma empresa, chamada Confluent, onde usavam Apache Kafka. Mas a plataforma acabou sendo doada à Apache Software Foundation, que hoje a mantém.
Inicialmente, a plataforma foi criada para uso interno do LinkedIn. A sua capacidade era de processar 1,4 trilhão de mensagens por dia. Porém, hoje em dia, ela tem muitas outras funcionalidades e aplicações.
Principais características
Veja uma relação com o resumo das principais características do Apache Kafka para conhecer melhor a plataforma. Mas se quiser mergulhar mais a fundo neste tema, acesse o site oficial e a documentação para instalar e começar a utilizar.
- Utiliza o conceito de “tópico”, que é uma categoria ou canal de dados. Nele, as informações são publicadas e armazenadas em formato de mensagens. Quando uma nova mensagem é publicada num tópico, ela é transmitida aos interessados.
- Segue o modelo publish-subscribe, no qual o produtor envia os dados para um tópico, e os demais consumidores se inscrevem neste tópico para receber e processar informações. Assim, ocorre a troca assíncrona de mensagens, ocasionando uma arquitetura de microsserviços robusta.
- Usado na integração assíncrona orientada por eventos com a finalidade de aumentar a utilização de integração síncrona e APIs.
- Pode trabalhar com muitos dados a cada segundo, sendo ideal para ser usado com soluções em Big Data, mas também em Internet das Coisas, redes sociais e outros.
Principais benefícios
Antes do Apache Kafka, o processamento de dados era feito em lotes periódicos. Primeiramente, os dados brutos eram armazenados e depois processados em intervalos de tempo pré-determinados, como um dia, uma semana ou um mês. Mas com essa solução, o processamento é em tempo real. Saiba, portanto, as principais vantagens do seu uso.
- Confiabilidade;
- Escalabilidade;
- Baixa latência (mensagens são entregues rapidamente);
- Fácil integração com tecnologias de Big Data.
Principais utilizações
Grandes empresas usam a plataforma Apache Kafka, entre elas, Waze, Spotify, Uber e Netflix. Mas empresas menores também podem usá-la com muita eficiência. Veja as suas principais utilizações.
- Processamento de streaming: útil quando a análise e o processamento de eventos em tempo real são necessários.
- Mensageria: as mensagens são entregues e processadas de forma assíncrona e segura com o uso da ferramenta.
- Logs de aplicativos: o Apache Kafka pode ser usado para coletar logs de aplicativos, bem como infraestrutura em geral. Ele centraliza e armazena esses dados para realizar o monitoramento.
Conclusão
Você viu neste artigo o que é Apache Kafka e como ele pode ser importante para o desenvolvedor que busca mais eficiência e escalabilidade em suas aplicações. Para completar seu conhecimento, aproveite para ler também sobre o que é Apache Spark. Se você está buscando testes on-line para desenvolvedores, aproveite para conhecer as soluções gratuitas disponíveis na Coodesh acessando nossa plataforma.