Descripción general de los agentes en Managed Service para Apache Kafka

En esta página, se describe cómo Managed Service para Apache Kafka aprovisiona agentes para tu clúster de Kafka.

Descripción general

Un clúster de Kafka se compone de uno o más agentes. Las aplicaciones de productor envían mensajes a los intermediarios, y las aplicaciones de consumidor se conectan a los intermediarios para leer mensajes. Varios consumidores pueden leer mensajes en paralelo, por lo general, con un grupo de consumidores. A cada partición de un tema se le asigna un agente líder. El líder es responsable de replicar los datos de la partición que recibe en otros intermediarios.

Managed Service para Apache Kafka crea automáticamente agentes para ti. Si bien no puedes configurar directamente la cantidad de intermediarios, puedes aumentar la escala de tu clúster para agregar más.

Aprovisionamiento de agentes

Cuando creas un clúster de Managed Service para Apache Kafka, el servicio aprovisiona al menos un agente en cada una de las tres zonas. La cantidad de intermediarios se calcula de la siguiente manera:

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

Por ejemplo, un clúster con 75 CPU virtuales comienza con 5 intermediarios.

Los intermediarios se distribuyen de la manera más uniforme posible entre las zonas, y todos tienen la misma cantidad de CPU virtuales, que puede ser un valor fraccionario. Cada agente tiene un mínimo de una CPU virtual.

El servicio aprovisiona automáticamente la capacidad de disco para los agentes. De manera opcional, puedes configurar la capacidad del disco por agente cuando creas el clúster y aumentarla más adelante. Para obtener más información, consulta Cómo configurar el tamaño del disco del agente.

Cómo escalar el clúster

A medida que aumentas el tamaño del clúster, se distribuyen CPU virtuales adicionales entre los intermediarios existentes, hasta un límite de 15 CPU virtuales por intermediario. Si el tamaño del clúster supera las 15 CPUs virtuales por agente, el servicio aprovisiona un agente nuevo. Los intermediarios se distribuyen de manera equitativa entre las tres zonas, con una diferencia máxima de uno.

Si disminuyes el tamaño del clúster, las CPUs virtuales se distribuyen entre los agentes existentes, hasta un mínimo de una CPU virtual por agente. Los intermediarios nunca se borran durante la vida útil de un clúster. Una vez que se aprovisiona un nuevo agente, se puede reducir la escala verticalmente a una CPU virtual, pero nunca se borra.

Rebalanceo de particiones de agentes

A menudo, el motivo para escalar un clúster es reducir la carga en los agentes existentes reasignando algunas particiones al agente nuevo. Este proceso se denomina rebalanceo. El rebalanceo se puede realizar de forma automática o manual.

  • Reequilibrio automático. El rebalanceo automático es un parámetro de configuración de todo el clúster. Cuando se aprovisiona un agente nuevo, si el rebalanceo automático está habilitado, el servicio rebalancea automáticamente las particiones de los agentes existentes. El algoritmo de reequilibrio se basa en el recuento de particiones y tiene como objetivo mantener aproximadamente la misma cantidad de particiones por broker. No tiene en cuenta el tráfico real que publica cada partición. Para obtener más información, consulta Configuración del rebalanceo.

  • Reequilibrio manual: Puedes reequilibrar las particiones de forma manual cambiando la asignación de particiones. Puedes hacerlo porque el reequilibrio automático está inhabilitado o porque una partición recibe mucho más tráfico que otras (lo que se denomina partición activa). Para obtener más información, consulta Cómo cambiar la asignación de particiones.

¿Qué sigue?

Apache Kafka® es una marca registrada de The Apache Software Foundation o sus afiliados en Estados Unidos y otros países.