Esta página descreve como o Serviço Gerenciado para Apache Kafka provisiona agentes para o cluster do Kafka.
Visão geral
Um cluster do Kafka é composto por um ou mais agentes. Os aplicativos de produção enviam mensagens aos agentes, e os aplicativos de consumo se conectam aos agentes 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 de partição que recebe para outros agentes.
O Serviço Gerenciado para Apache Kafka cria agentes automaticamente. Embora não seja possível configurar diretamente o número de agentes, você pode aumentar o cluster para adicionar agentes.
Provisionamento de agentes
Ao criar um cluster do Serviço Gerenciado para Apache Kafka, o serviço provisiona pelo menos um agente em cada uma das três zonas. O número de agentes é calculado da seguinte maneira:
number of brokers = max(3, ceiling(vCPUs / 15))
Por exemplo, um cluster com 75 vCPUs começa com 5 agentes.
Os agentes são distribuídos da maneira mais uniforme possível entre as zonas, e todos têm o mesmo número de vCPUs, que pode ser um valor fracionário. Cada agente tem um mínimo de uma vCPU.
O serviço provisiona automaticamente a capacidade de disco para os agentes. Se preferir, você pode configurar a capacidade de disco por agente ao criar o cluster e aumentá-la mais tarde. Para mais informações, consulte Configurar o tamanho do disco do agente.
Escalonar o cluster
À medida que você aumenta o tamanho do cluster, mais vCPUs são distribuídas entre os agentes atuais, até um limite de 15 vCPUs por agente. Se o tamanho do cluster exceder 15 vCPUs por agente, o serviço provisionará um novo agente. Os agentes 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 agentes atuais, até um mínimo de uma vCPU por agente. Os agentes nunca são excluídos durante a vida útil de um cluster. Depois que um novo agente é provisionado, ele pode ser reduzido para uma vCPU, mas nunca é excluído.
Rebalancear partições de agentes
Muitas vezes, o motivo para aumentar um cluster é reduzir a carga nos agentes atuais, reatribuindo algumas partições ao novo agente. Esse processo é chamado de reequilíbrio. O reequilíbrio pode ser realizado de forma automática ou manual.
Reequilíbrio automático. O reequilíbrio automático é uma configuração de cluster. Quando um novo agente é provisionado, se o reequilíbrio automático estiver ativado, o serviço reequilibrará automaticamente as partições dos agentes atuais. O algoritmo de reequilíbrio é baseado na contagem de partições e tem como objetivo manter aproximadamente o mesmo número de partições por agente. Ele não considera o tráfego real atendido por cada partição. Para mais informações, consulte Configuração de reequilíbrio.
Reequilíbrio manual. Você pode reequilibrar manualmente as partições mudando a atribuição de partição. Isso pode ser feito porque o reequilíbrio automático está desativado ou porque uma partição recebe muito mais tráfego do que outras partições (chamada de partição ativa). Para mais informações, consulte Mudar a atribuição de partição.
A seguir
- Ver os agentes em um cluster
- Configurar o tamanho do disco do agente
- Mudar uma atribuição de partição
- Usar cotas para isolamento de carga