Visão geral dos agentes no Serviço gerenciado para Apache Kafka

Nesta página, descrevemos como o Serviço Gerenciado para Apache Kafka provisiona agentes para seu cluster do Kafka.

Visão geral

Um cluster do Kafka é composto por um ou mais brokers. Os aplicativos produtores enviam mensagens para os corretores, e os aplicativos consumidores se conectam a eles para ler mensagens. Vários consumidores podem ler mensagens em paralelo, geralmente usando um grupo de consumidores. Cada partição em um tópico recebe um agente líder. O líder é responsável por replicar os dados da partição que recebe para outros brokers.

O Serviço Gerenciado para Apache Kafka cria agentes automaticamente para você. Embora não seja possível configurar diretamente o número de brokers, é possível escalonar seu cluster para adicionar brokers.

Provisionamento de agentes

Ao criar um cluster do Serviço Gerenciado para Apache Kafka, o serviço provisiona pelo menos um broker em cada uma das três zonas. O número de corretores é calculado da seguinte forma:

number of brokers = max(3, ceiling(vCPUs / 15))

Por exemplo, um cluster com 75 vCPUs começa com cinco brokers.

Os brokers são distribuídos da maneira mais uniforme possível entre as zonas, e todos eles têm o mesmo número de vCPUs, que pode ser um valor fracionário. Cada broker tem no mínimo uma vCPU.

O serviço provisiona automaticamente a capacidade de disco para os corretores. Se quiser, configure a capacidade de disco por broker ao criar o cluster e aumente-a depois. Para mais informações, consulte Configurar o tamanho do disco do broker.

Como escalonar o cluster

À medida que você aumenta o tamanho do cluster, mais vCPUs são distribuídas entre os brokers atuais, até um limite de 15 vCPUs por broker. Se o tamanho do cluster exceder 15 vCPUs por broker, o serviço vai provisionar um novo broker. Os brokers são distribuídos igualmente entre as três zonas, com uma diferença máxima de um.

Se você diminuir o tamanho do cluster, as vCPUs serão distribuídas entre os brokers atuais, até um mínimo de uma vCPU por broker. Os brokers nunca são excluídos durante a vida útil de um cluster. Depois que um novo broker é provisionado, ele pode ser reduzido para uma vCPU, mas nunca é excluído.

Reequilibrar partições de agente

Muitas vezes, o motivo para escalonar um cluster é reduzir a carga nos agentes atuais, reatribuindo algumas partições ao novo agente. Esse processo é chamado de rebalanceamento. O rebalanceamento pode ser feito de forma automática ou manual.

  • Rebalanceamento automático. O rebalanceamento automático é uma configuração em todo o cluster. Quando um novo agente é provisionado, se o rebalanceamento automático estiver ativado, o serviço reequilibrará automaticamente as partições dos agentes atuais. O algoritmo de rebalanceamento se baseia na contagem de partições e visa manter aproximadamente o mesmo número de partições por broker. Ela não considera o tráfego real veiculado por cada partição. Para mais informações, consulte Configuração de rebalanceamento.

  • Reequilíbrio manual. É possível rebalancear manualmente as partições mudando a atribuição delas. Isso pode ser feito porque o rebalanceamento automático está desativado ou porque uma partição recebe muito mais tráfego do que outras (chamada de partição ativa). Para mais informações, consulte Mudar a atribuição de partição

A seguir

Apache Kafka® é uma marca registrada da The Apache Software Foundation ou afiliadas nos Estados Unidos e/ou em outros países.