7 práticas recomendadas para otimizar sua implantação de dados e desempenho de escala do Apache Kafka

Publicados: 2022-09-06

Se você está ansioso para obter um bom desempenho, compreensão, recompensas, ideias aprofundadas, etc., pode confiar no Apache Kafka, pois é sempre o número um. Estamos fazendo uma transição dos antigos sistemas para a nova geração. Um acesso a uma forte ferramenta de streaming de dados que você encontrará no Apache Kafka torna seu trabalho muito mais fácil e produtivo. Neste artigo discutimos sobre 8 melhores práticas para melhorar o desempenho do Apache Kafka.

Estrutura de configuração de log

Para configurar qualquer comportamento de log, você precisa manter o tempo de carregamento. Para a manutenção do tempo, sua configuração deve estar em um formato apropriado. Alterar o comportamento do log torna-se fácil com isso, como a retenção do log, configuração do cache, encurtamento e redução.

Enquanto você está alterando qualquer comportamento de log, a exclusão de alguns arquivos não utilizados com log.cleanup.policy é comum. Existem outros como log.segments.ms ou log.segments.bytes. Eles cuidam dos logs. Assim como a manutenção do tempo é necessária, a frequência de encurtamento da tora também é necessária. Isso é feito para obter um melhor desempenho. É por isso que se diz que manter alguns arquivos compactados para uso posterior. Isso é feito para que as mensagens possam ser encontradas posteriormente no Kafka. Kafka é uma coisa muito necessária quando você está no processo de dimensionamento horizontal. O processo de dimensionamento envolve hardwares como:

CPU: Strong Central Processing Unit é o hardware menos necessário. Torna-se importante ao usar SSL ou compactação de log. Além disso, se a paralelização for maior, o emprego de núcleos também será maior. A compactação do log é importante, mas caso não seja, você deve adicionar o codec LZ4.

RAM: Execute sua RAM ou Memória de Acesso Aleatório com eficiência em qualquer caso de uso e isso se torna possível se você tiver 6 GB de RAM. Se você deseja eficiência, deve fazê-lo com um dispositivo de 32 GB de memória ou mais. As memórias pesadas são usadas para produção pesada de cargas. As cargas extras também são atendidas utilizando o cache da página do SO e a entrega aos clientes. Mas o sistema de Kafka permite que ele use menos memória RAM. A tomada de carga de Kafka é restrita de alguma forma.

Você poderá crescer mais com o Kafka se a sequência do drive estiver no formato RAID. Você deve evitar NAS e utilizar SSDs para o benefício.

Rede e sistema de arquivos: Redes e sistemas de arquivos são importantes, por isso é muito necessário manter os clusters em um único local de dados.

Aproveite ao máximo o Apache ZooKeeper.

Enquanto estamos falando sobre o cluster Zoopkeeper, é uma parte importante do Kafka quando está em uso. Além disso, ao usar o Kafka, você deve conhecer as principais práticas ao usar o Zookeeper. O uso do docker Kafka pode ser feito em vários lugares.

Ao usar o Kafka, até cinco nós Zookeeper podem ser usados, mas, se for um cluster Kafka, um é suficiente. Quando se trata de latência na implantação do Kafka , sua melhoria pode ser feita com o uso de pelo menos cinco Zookeeper. Mas todos esses processos sobrecarregam os nós que devem ser cuidados. Se a carga não for considerada no momento, se o processo precisar de sete nós e se eles forem sincronizados, a carga aumenta e, portanto, o desempenho.

Se falamos de largura de banda e latência de rede, o Zookeeper oferece a melhor largura de banda disponível. Com a ajuda de discos, você poderá compactar a latência. Ele dá ao seu log um armazenamento, acompanha o processo do Zookeeper e interrompe as trocas.

Tenha cuidado ao configurar tópicos

Para ter qualquer tipo de modificação, algumas coisas que você deve ver são o fator de divisão e a contagem de partições, pois suas alterações podem ser um pouco diferentes e difíceis. Para facilitar, você pode verificar todas essas especificações corretamente antes de criar um novo tipo de tópico. É por isso que a configuração do tópico é muito importante no desempenho do cluster Kafka. Existe uma propriedade de default do servidor que ajuda na configuração dos tópicos que podem ser usados ​​durante a criação de tópicos ou qualquer outra configuração.

Enquanto você estiver lidando com tópicos, você encontrará mensagens grandes. Dessa vez, seu fator de aplicação que é triplo, também pode aplicar cautela e pode quebrar as mensagens uniformemente. Às vezes pode acontecer que todas essas coisas não funcionem nesse momento você pode usar o método de compactação para o lado do produtor.

Seu caso de uso estará ativo quando suas mensagens forem muito grandes e isso é possível se seu segmento de log padrão tiver 1 GB de tamanho. A contagem de partições também é um fator chave.

Processamento paralelo

A implementação do processamento paralelo é em si um ato de equilíbrio e o kafka é construído para isso. O desempenho do processamento será mais eficaz se as partições forem de parâmetro de nível de tópico. Se as partições forem maiores, o desempenho também melhora. É porque as partições fornecem mais replicações de boa latência; ele cria um saldo e abre os arquivos do servidor.

A entrega e o conteúdo que você deseja você pode obter estimando o número de partições que deseja e a entrega que deseja do seu sistema. Você também pode escolher outras formas, como escolher qualquer partição específica por assunto e, em seguida, pode estimar dobrando a participação, caso queira mais conteúdo.

Configure e isole o Kafka com segurança

Todos os dados após a implantação também precisam de segurança. Mas a questão vem com a função interna do kafka e a estrutura em que o Kafka funciona. .

Embora isso fosse sobre violar a segurança do kafka após o lançamento do kafka 9, havia muitos tipos de segurança adicionados a ele. Inclui

  • Autenticação para Kafka ou cliente e Kafka ou Zookeeper
  • Sistema de suporte TLS

Esses dois são a proteção importante de kafka fr. O envolvimento desnecessário. Se ele fala sobre o sistema de suporte DLS, ele tem um recurso de separar e proteger a comunicação com os corretores. É muito difícil proteger o ka da tosse e o zookeeper, por isso eles são protegidos principalmente pelas paredes de fogo e grupos de segurança do fusível e os corretores estão em uma única rede privada que não permite nenhuma comunicação pública.

O Kafka também pode ser protegido por meio de middleware ou camadas de balanceamento de carga.

Aumente o Ulimit para evitar interrupções

Fazemos isso muitas vezes, abrimos vários arquivos ao mesmo tempo. Isso causa a quebra dos corretores devido à carga que força isso a acontecer assim. Mas, você pode não sofrer do mesmo problema se alterar seu Ulimit. Isso evitará qualquer tipo de indignação. Isso ocorre porque a quebra de corretores acontece com muita frequência.

Rede de baixa latência

A rede de baixa latência é perfeita para a implementação do Kafka. Ao posicionar os corretores, você deve ter certeza de que eles devem estar próximos às regiões dos clientes. Você encontrará o desempenho da rede ao selecionar as instâncias. Essas instâncias são fornecidas pelos provedores de nuvem. Mas é preferível ter largura de banda atualizada para obter os melhores efeitos.

Leia também: 9 melhores ferramentas do Docker de código aberto de orquestração