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
- Ver os brokers em um cluster
- Configurar o tamanho do disco do broker
- Mudar uma atribuição de partição
- Usar cotas para isolamento de carga