Manuseio de dados de serviço irregulares
Introdução
O Kafka divide cada tópico em várias partições para armazenamento distribuído de mensagens. Cada partição tem uma ou mais réplicas distribuídas em diferentes agentes. Cada réplica armazena uma cópia dos dados completos. As mensagens são sincronizadas entre as réplicas. A figura a seguir mostra as relações entre tópicos, partições, réplicas e agentes.
Dados de serviço irregulares entre agentes e partições podem acontecer, levando a baixo desempenho de clusters de Kafka e baixa utilização de recursos.
Causas de dados de serviço irregulares
- O tráfego de alguns tópicos é muito mais pesado do que o de outros.
- Os produtores especificaram as partições ao enviar mensagens, deixando as partições não especificadas vazias.
- Os produtores especificaram chaves de mensagem para enviar mensagens para partições específicas.
- O sistema reimplementa políticas de alocação de partição com falhas.
- Existem novos agentes de Kafka sem partições alocadas.
- As alterações no cluster levam a trocas e migração de réplicas líderes, fazendo com que os dados em alguns agentes aumentem.
Solução
Manuseio de dados de serviço irregulares:
- Otimize o design do tópico. Para um tópico com dados consideráveis, os dados podem ser divididos entre tópicos.
- Produtores enviam mensagens uniformemente entre partições.
- Ao criar tópicos, distribua réplicas líderes entre os agentes.
- Kafka apresenta reatribuição de partição. Você pode reatribuir réplicas a diferentes agentes para equilibrar a carga entre os agentes. Para obter detalhes, consulte Reatribuição de partições.