¿Cómo se almacenan los datos en la base de datos?
Golang
Explica el concepto de confirmación manual en Kafka
¿Por qué necesitamos interrumpir el contexto en la estructura? ¿Por qué terminar los trabajadores? Queremos interrumpir el método Stop.
¿Tienes alguna pregunta para mí?
¿En qué se diferencia HAVING de WHERE?
¿Escribes mucho código asíncrono en tu trabajo actual?
¿Qué ocurría si el servicio fallaba y no leía los mensajes de Kafka?
¿Qué sucede con el búfer cuando las goroutines que escriben se bloquean?
¿Agregas WaitGroup, para qué?
¿Cómo se compromete el offset del consumidor en diferentes modos?
¿Cómo hacer que una estructura de datos sea genérica (que funcione con cualquier tipo de valor) en Go?
Índices compuestos: ¿qué se debe poner primero: igualdad o rango?
Diferencia entre máquina virtual y contenedor
¿En qué se diferencia RIGHT JOIN de otros JOIN? ¿Qué es CROSS JOIN?
Háblame de CQRS
¿Por qué eligieron Kafka en lugar de otros sistemas de mensajería (RabbitMQ, NATS)?
¿Cómo implementar un mapa ordenado en Go que garantice el orden de las claves durante la iteración?
¿Qué otros percentiles utilizó?
// Escribir un manejador asíncrono de tareas como una biblioteca // El cliente pasa un objeto (Task) con datos para realizar la tarea, // en nuestro ejemplo usaremos una estructura vacía. // El manejador puede procesar simultáneamente no más de N tareas, // y no más de X tareas pueden estar en cola para su procesamiento. // Si no hay espacio en la cola, se devuelve inmediatamente un error al cliente. // La tarea se procesa si hay procesadores libres disponibles. // Simulamos la duración del procesamiento con time.Sleep(5*time.Second). // Tan pronto como una tarea termina, tomamos la siguiente de la cola. // Si la cola está vacía, esperamos nuevas tareas de los clientes. // Con una estrella: ampliar la estructura Task y obtener los estados de las tareas mediante una consulta separada.
¿Cómo agregar contexto al método Stop para poder interrumpir la espera de la ejecución de tareas con tiempo de espera?