As 11 principais perguntas e respostas da entrevista Kafka [para calouros]

Publicados: 2021-02-22

Nos nove anos desde seu lançamento em 2011, Kafka se consolidou como uma das ferramentas mais valiosas para processamento de dados na esfera tecnológica. Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target e The New York Times são apenas algumas empresas construídas em Kafka.

Mas o que é Kafka? A resposta simples para isso seria – é o que ajuda um motorista do Uber a combinar com um passageiro em potencial ou ajudar o LinkedIn a realizar milhões de serviços analíticos ou previsíveis em tempo real. Resumindo, o Apache é uma plataforma de streaming de eventos distribuídos altamente escalável, de código aberto e tolerante a falhas, criada pelo LinkedIn em 2011. Ele usa um log de confirmação no qual você pode se inscrever, que pode ser publicado em vários aplicativos de streaming.

Sua baixa latência, integração de dados e alta taxa de transferência contribuem para sua crescente popularidade, tanto que uma experiência em Kafka é considerada uma adição brilhante ao currículo de um candidato e profissionais com qualificação certificada nele estão em alta demanda hoje. Isso também resultou em um aumento nas oportunidades de trabalho centradas em Kafka.

Neste artigo, compilamos uma lista de perguntas e respostas da entrevista Kafka que provavelmente surgirão em sua próxima sessão de entrevista. Você pode procurar isso para aprimorar seu conhecimento antes de ir para sua entrevista. Aqui vamos nos!

As 11 principais perguntas e respostas da entrevista Kafka

1. O que é Apache Kafka?

Kafka é uma ferramenta gratuita de processamento de dados de código aberto criada pela Apache Software Foundation. Ele é escrito em Scala e Java e é um armazenamento de dados distribuído em tempo real projetado para processar dados de streaming. Ele oferece um alto rendimento trabalhando em um hardware decente.

Quando milhares de fontes de dados enviam continuamente registros de dados ao mesmo tempo, os dados de streaming são gerados. Para lidar com esses dados de streaming, uma plataforma de streaming precisaria processar esses dados sequencialmente e incrementalmente enquanto lidava com o influxo ininterrupto de dados.

Kafka pega esse influxo de dados de entrada e cria pipelines de dados de streaming que processam e movem dados de sistema para sistema.

Funções de Kafka :

  • É responsável por publicar fluxos de registros de dados e assiná-los
  • Ele lida com o armazenamento eficaz de fluxos de dados na ordem em que são gerados
  • Ele cuida do processamento de dias em tempo real

Usos de Kafka :

  • Integração de dados
  • Análise em tempo real
  • Armazenamento em tempo real
  • Solução de corretor de mensagens
  • Detecção de fraude
  • Negociação de ações

2. Por que usamos Kafka?

O Apache Kafka serve como o sistema nervoso central, disponibilizando dados de streaming para todos os aplicativos de streaming (um aplicativo que usa dados de streaming é chamado de aplicativo de streaming). Ele faz isso construindo pipelines de dados em tempo real que são responsáveis ​​pelo processamento e transferência de dados entre os diferentes sistemas que precisam usá-los.

O Kafka atua como um sistema intermediário de mensagens entre dois aplicativos, processando e mediando a comunicação.

Tem uma gama diversificada de usos que incluem mensagens, processamento, armazenamento, transporte, integração e análise de dados em tempo real.

3. Quais são os principais recursos do Apache Kafka?

As principais características do Kafka incluem o seguinte:

1. Durabilidade – Kafka permite suporte contínuo para a distribuição e replicação de partições de dados entre servidores que são então gravadas em disco. Isso reduz a chance de falha dos servidores, torna os dados persistentes e tolerantes a falhas e aumenta sua durabilidade.

2. Escalabilidade – O Kafka pode ser alterado e substituído em muitos servidores, o que o torna altamente escalável, além da capacidade de um único servidor. As partições de dados do Kafka não têm tempo de inatividade devido a isso.

3. Perda de dados zero – Com o suporte adequado e as configurações corretas, a perda de dados pode ser reduzida a zero.

4. Velocidade – Como há latência extremamente baixa devido ao desacoplamento de fluxos de dados, o Apache Kafka é muito rápido. Ele é usado com Apache Spark, Apache Apex, Apache Flink, Apache Storm, etc, todos os quais são aplicativos de streaming externo em tempo real.

5. Alta taxa de transferência e replicação – Kafka tem a capacidade de suportar milhões de mensagens que são replicadas em vários servidores para fornecer acesso a vários assinantes.

4. Como funciona o Kafka?

O Kafka funciona combinando dois modelos de mensagens, enfileirando-os e publicando-os e assinando-os para que possam ser acessíveis a muitas instâncias do consumidor.

O enfileiramento promove a escalabilidade, permitindo que os dados sejam processados ​​e distribuídos para vários servidores consumidores. No entanto, essas filas não são adequadas para serem multiassinantes. É aí que entra a abordagem de publicação e assinatura. No entanto, como cada instância de mensagem seria enviada para cada assinante, essa abordagem não pode ser usada para a distribuição de dados em vários processos.

Portanto, Kafka emprega partições de dados para combinar as duas abordagens. Ele usa um modelo de log particionado no qual cada log, uma sequência de registros de dados, é dividido em segmentos menores (partições), para atender a vários assinantes.

Isso permite que diferentes assinantes tenham acesso ao mesmo tópico, tornando-o escalável, pois cada assinante recebe uma partição.

O modelo de log particionado do Kafka também pode ser reproduzido, permitindo que diferentes aplicativos funcionem independentemente enquanto ainda lêem fluxos de dados.

5. Quais são os quatro principais componentes de Kafka?

Existem quatro componentes de Kafka. Eles estão:

- Tema

– Produtor

– Corretores

– Consumidor

Os tópicos são fluxos de mensagens do mesmo tipo.

Os produtores são capazes de publicar mensagens em um determinado tópico.

Brokers são servidores onde são armazenados os fluxos de mensagens publicadas pelos produtores.

Os consumidores são assinantes que assinam tópicos e acessam os dados armazenados pelos corretores.

6. Quantas APIs o Kafka possui?

Kafka tem cinco APIs principais que são:

API do produtor: responsável pela publicação de mensagens ou fluxo de registros para um determinado tópico.

– Consumer API: conhecidos como assinantes de tópicos que puxam as mensagens publicadas pelos produtores.

– API de streams: permite que aplicativos processem streams; isso envolve processar o fluxo de entrada de qualquer tópico e transformá-lo em um fluxo de saída. Este fluxo de saída pode então ser enviado para diferentes tópicos de saída.

– API do conector: atua como um sistema de automação para permitir a adição de diferentes aplicativos aos seus tópicos Kafka existentes.

– API Admin: os tópicos Kafka são gerenciados pela API Admin, assim como os brokers e vários outros objetos Kafka.

7. Qual a Importância do Offset?

O número de identificação exclusivo que é alocado para mensagens armazenadas em partições é conhecido como Offset. Um deslocamento serve como um número de identificação para cada mensagem contida em uma partição.

8. Defina um Grupo de Consumidores.

Quando vários tópicos inscritos são consumidos em conjunto por mais de um consumidor, isso é chamado de Grupo de Consumidores.

9. Explique a importância do tratador. O Kafka pode ser usado sem o Zookeeper?

Os deslocamentos (números de ID exclusivos) para um determinado tópico, bem como as partições consumidas por um determinado grupo de consumidores, são armazenados com a ajuda do Zookeeper. Ele serve como o canal de coordenação entre os usuários. É impossível usar o Kafka sem o Zookeeper. Isso torna o servidor Kafka inacessível e as solicitações do cliente não podem ser processadas se o Zookeeper for ignorado.

10. O que significam Líder e Seguidor em Kafka?

Cada uma das partições no Kafka é atribuída a um servidor que serve como líder. Cada solicitação de leitura/gravação é processada pelo Líder. O papel dos Seguidores é seguir os passos do Líder. Se o sistema fizer com que o Líder falhe, um dos Seguidores parará de replicar e preencherá como Líder para cuidar do balanceamento de carga.

11. Como você inicia um servidor Kafka?

Antes de iniciar o servidor Kafka, ligue o Zookeeper. Siga os passos abaixo:

Servidor Zookeeper:

> bin/zookeeper-server-start.sh config/zookeeper.properties

Servidor Kafka:

bin/kafka-server-start.sh config/server.properties

Conclusão

Se você estiver interessado em saber mais sobre Big Data, confira nosso programa PG Diploma in Software Development Specialization in Big Data, projetado para profissionais que trabalham e fornece mais de 7 estudos de caso e projetos, abrange 14 linguagens e ferramentas de programação, práticas práticas workshops, mais de 400 horas de aprendizado rigoroso e assistência para colocação de emprego com as principais empresas.

Confira nossos outros Cursos de Engenharia de Software no upGrad.

Lidere a revolução tecnológica orientada a dados

7 ESTUDOS DE CASO E PROJETOS. ASSISTÊNCIA NO TRABALHO COM EMPRESAS SUPERIORES. MENTOR ALUNO DEDICADO.
Programa Avançado de Certificação em Big Data do ITT Bangalore