Introducción: un coordinador elegido
Leader Election elige dinámicamente un nodo para coordinar trabajo distribuido. En cluster de 10 servidores, ¿quién maneja la tarea cron? ¿Quién dispara eventos que todos deben procesar? Sin leader, todos disparan (duplicación). Con leader, uno dispara, otros escuchan. Si leader muere, automáticamente otro es elegido. El mecanismo usa consensus (quórum) o heartbeat. Algorithms: Bully (nodo más alto ID gana), Ring (circulante), Raft (log replicado). Ventaja: evita duplicación, coordina trabajo. Desventaja: complejidad, latencia de elección. Necesario en sistemas distribuidos.

Prompt: leader node coordinating cluster, minimal style.
1. Naturaleza: jefe de manada
Lobos, elefantes, primates: todos tienen un líder. El líder coordina movimientos, toma decisiones. Si muere, otro asume automáticamente. Es eficiente: una fuente de verdad, decisiones rápidas. En vida real, familias humanas también. Papá/mamá elige horarios, roles. Si uno falta, el otro. Sin líder, caos (dos papás dando órdenes conflictivas). Leadership es natural en grupos.

Prompt: herd with leader, soft illustration.
2. Mundo Real: job scheduler en Kubernetes
10 réplicas de un servicio en K8s. Tarea: ejecutar backup cada hora. Sin leader, los 10 ejecutan (10 backups simultáneamente, redundancia, conflicto). Con leader: elegido = 1 nodo que dispara el job cada hora. Los otros escuchan. Si el nodo 1 muere, K8s elige nodo 2 automáticamente. Consistencia garantizada. En .NET: DistributedLock usando Redis o SQL Server. Nodo que adquiere lock = leader. Mientras lo tiene, puede ejecutar tareas críticas. Lock se renueva periódicamente (heartbeat). Si nodo muere, lock expira, otro nodo lo adquiere.

Prompt: distributed scheduler, flat infographic.
3. Implementación en C#
using var handle = await distributedLock.AcquireAsync("job-leader", timeout);
if (handle != null) // I'm the leader
{
await RunScheduledJob();
await handle.DisposeAsync();
}Usa DistributedLock (NuGet). Acquire() bloquea hasta tener el lock (leader). Otros threads/nodes esperan. Si timeout, ninguno toma el lock. Alternativa: Consul, etcd, Zookeeper. Toda infraestructura de consensus requiere heartbeat. Si node holding lock muere, lease expira, nuevo nodo elige automáticamente.
Usa un registro distribuido (etcd, Redis) para elección confiable.
4. Leader Election vs Lock distribuido
Leader Election asigna rol continuo; lock es por operación puntual.
5. Diagrama UML

Prompt: UML leader election, clean vector.

Prompt: leader election flow diagram, minimal infographic.
⚠️ Cuándo NO Usar Leader Election
- Si la tarea puede ser concurrente sin conflicto.
- Si no hay infraestructura para consenso.
💪 Ejercicio
Define un job distribuido que deba ejecutarse solo por un líder.
Conclusión
Leader Election reduce conflictos en sistemas distribuidos.