¿Cuál es el papel de las claves en Kafka?
El par clave/valor que se enviará a Kafka. Esto incluye el nombre del tema al que se envía el registro, un número de partición opcional y una clave y un valor opcionales.
Pares clave/valor para enviar a Kafka. Esto incluye el nombre del tema, el número de partición opcional y la clave y el valor opcionales para los que se envía el registro.
Si se especifica un número de partición válido, esa partición se utilizará al enviar registros. Si no se especifica ninguna partición pero la clave está presente, se seleccionará una partición utilizando el hash de la clave.
Si se especifica un valor de atributo de partición válido, esa partición se utilizará al enviar registros. Si se especifica un valor de atributo de partición válido, el valor del atributo de partición se aplicará cuando se envíe el registro. Si no se especifica ningún valor de atributo de partición, pero se declara un atributo de clave, se selecciona una partición en función del valor hash de la clave. Si no se declara ni una clave ni un valor de atributo de partición, las particiones se asignan por turnos.
Los registros también tienen una marca de tiempo asociada. Si el usuario no proporciona una marca de tiempo, el productor marcará el registro con la hora actual.
La marca de tiempo que Kafka utiliza finalmente depende del tipo de marca de tiempo configurado para el tema.
Si el usuario no proporciona una marca de tiempo, el productor sellará el registro con la hora actual. Las marcas de tiempo que Kafka utiliza finalmente dependen del tipo de marca de tiempo configurado para el tema.
Si el tema está configurado para usar {@link org.apache.kafka.common.record.TimestampType#CREATE_TIME CreateTime}, el corredor utilizará la marca de tiempo en el registro del productor.
Si el tema está configurado para usar CREATE_TIME, el proxy aplicará la marca de tiempo en el registro del productor.
Si el tema está configurado para usar {@link org.apache.kafka.common.record.TimestampType#LOG_APPEND_TIME LogAppendTime}, la marca de tiempo en el registro del productor cuando el intermediario agrega el mensaje al registro será será sobrescrito por la hora local del agente.
Si el tema está configurado con LogAppendTime, cuando el corredor agregue un mensaje al registro, la marca de tiempo en el registro del productor será sobrescrita por la hora local del corredor.
En cualquier caso, la marca de tiempo real utilizada se devolverá al usuario en {@link RecordMetadata}
.