es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Detección de transferencia de consumidores de grupo de consumidores de Kafka.

Tengo 1 tema de kafka con solo 1 partición.

En cualquier momento, puede haber varios clientes de kafka. Todos los clientes están suscritos usando el mismo grupo de consumo. Por lo tanto, en cualquier momento dado, solo 1 cliente recibiría mensajes. Digamos que desde t0 hasta t10, el consumidor1 estaba recibiendo mensajes, pero después de un tiempo deja de recibir mensajes y el consumidor2 es elegido como nuevo líder (puede ser debido a pausas de GC en el consumidor1). En mi consumidor1, quiero detectar cuando ocurre este cambio de liderazgo, para que pueda vaciar su estado local.

¿Es posible hacerlo con el código de cliente de kafka?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible detectar una conmutación por error en su código de consumidor1. Puede utilizar el método KafkaConsumer#poll() para comprobar el evento ConsumerRebalanceListener. Este evento se activará cuando se elija un nuevo líder y se reequilibre el grupo de consumidores. Puede utilizar este evento para limpiar su estado local.

Comments are closed.