Escolha o número de partições em Kafka

3

Eu li a documentação do apache kafka, mas não consegui encontrar um exemplo sobre quantas partições devo usar em qualquer cenário.

Por exemplo, digamos que eu tenha 5000 msgs / entradas por minuto, para esta situação, quantas partições eu devo ter (ou você recomenda)?

ou existe alguma maneira de calcular isso? talvez haja uma tabela de valores onde eu possa me referir?

    
por Diego Velez 05.08.2016 / 17:23

1 resposta

2

Não há um bom número padrão de partições, e você deve fornecer mais informações.

Depende do tamanho das mensagens, da sua plataforma e do padrão de uso. Um servidor pode armazenar todas as mensagens com o conjunto de retenção? se não, você deve dividir os dados com várias partições para instâncias. Mesmo caso, se você precisar de melhor taxa de transferência ou se precisar processar mensagens sequencialmente ou se os dados puderem ser consumidos sem nenhuma restrição específica no pedido. Há também uma questão de latência que você espera que uma mensagem seja consumida. Se as suas mensagens forem importantes, você terá que adicionar réplicas para cada partição e obter todas as mensagens em todas as réplicas, para diminuir a taxa de transferência.

Você também precisa especificar se o número que você deu é sobre mensagens produzidas ou consumidas.

5000 mensagens por minuto é muito baixo, considerando que o Kafka é construído para ser rápido para processar mensagens. Cheguei facilmente a 10000 mensagens / segundo injetadas por servidor com tamanho de 1kb.

5000 mensagens por minuto perfazem 84 mensagens por segundo, portanto, se uma instância da sua aplicação de consumidor puder lidar com essa quantidade, você poderá adicionar partições e executar vários aplicativos de consumidor em paralelo, um de cada será responsável por uma partição.

Confluent Inc tem publicado uma postagem no blog sobre como escolher o número de partições (e o número de réplicas também).

    
por 05.08.2016 / 17:31

Tags