O ApsaraMQ for Kafka limita o número total de tópicos e partições por cluster para proteger o desempenho e a estabilidade. Cada partição consome recursos do broker — descritores de arquivo, memória e threads de replicação —, de modo que uma contagem excessiva de partições degrada o throughput e aumenta a latência em todo o cluster.
Como as partições afetam o desempenho do cluster
No ApsaraMQ for Kafka, as mensagens são armazenadas e distribuídas por partição. Cada partição corresponde a um diretório em cada broker que mantém uma réplica. Esse diretório contém um arquivo de índice e um arquivo de dados por segmento de log. À medida que a contagem de partições cresce, os seguintes problemas se intensificam:
|
Área de impacto |
O que acontece |
|
Consumo de descritores de arquivo |
Cada partição exige descritores de arquivo abertos para seus segmentos de índice e dados. Milhares de partições podem esgotar o limite de descritores de arquivo do sistema operacional. |
|
Latência de replicação |
Os brokers replicam os dados das partições para manter as réplicas sincronizadas. Um número maior de partições aumenta o tempo necessário para confirmar mensagens, elevando a latência ponta a ponta. |
|
Tempo de recuperação |
Quando um broker reinicia ou passa por failover, ele precisa recarregar os metadados e sincronizar todas as partições hospedadas. Um número maior de partições prolonga a janela de indisponibilidade durante a recuperação. |
O que fazer ao atingir o limite
Se a sua carga de trabalho exige mais tópicos ou partições do que o cluster atual permite:
Consolide tópicos. Verifique se vários tópicos de baixo tráfego podem compartilhar menos partições. O particionamento excessivo é uma causa comum de atingir os limites prematuramente.
Envie um ticket. Para obter mais informações ou solicitar um aumento de cota, envie um ticket.