Cuando pasa un mensaje a su productor de cliente Kafka, publicará con éxito o sin éxito ese mensaje en su clúster Kafka configurado. Kafka es “sin bloqueo” en el sentido de que si el código del cliente productor no puede enviar un mensaje, simplemente lo descartará después de un número configurable de reintentos y tiempos de espera. No utiliza ninguna llamada de función de bloqueo que ponga un hilo solicitante en suspensión o en algún tipo de cola de espera.
Si no desea perder esos mensajes descartados, depende de usted detectar el fracaso del cliente productor para producir mensajes. Luego puede volver a intentarlo, dejar de enviar datos al cliente productor en el código de su aplicación o hacer otra cosa que desee según la disponibilidad que desee que tenga su aplicación en caso de que su clúster Kafka caiga.
Cualquier interacción con un pub / subsistema puede considerarse bloqueante o no bloqueante, y cualquier interacción entre los corredores de mensajes en un clúster y cualquier manejo de datos dentro de un corredor de mensajes. Lo que debe decidir es si desea que su aplicación se bloquee si no puede publicar o consumir mensajes, o si desea que su aplicación continúe ejecutándose incluso si no puede publicar o consumir mensajes.
- ¿De qué están hechos los teléfonos celulares?
- ¿Cuáles son las probabilidades de que volvamos a un estado medieval en el futuro cuando nos demos cuenta del daño que la tecnología IoT está causando en nuestras vidas?
- ¿Tesla fabricará un avión eléctrico?
- ¿Qué pasará si detenemos la tecnología?
- ¿Cómo funcionan las gafas Valspar 'Color for the Color Blind'?