Tema: consensus
-
O que um cluster Raft garante: maiorias, um único líder e leituras linearizáveis
Sistemas de consenso como o etcd (Raft) permitem que uma maioria de servidores concorde sobre um log ordenado; permanecem corretos diante de qualquer número de falhas, mas só avançam enquanto uma maioria estiver acessível. Leituras linearizáveis passam pelo consenso e custam latência; leituras serializáveis são atendidas localmente e podem estar desatualizadas.
-
Locks distribuídos e leases de líder: expiração, fencing tokens e o que um lock não consegue garantir
Um lock distribuído é um lease que expira: um processo pausado por garbage collection, disputa de CPU ou atraso de rede pode continuar agindo depois que o lease já passou para outro cliente. Só um fencing token monotonicamente crescente, verificado pelo recurso protegido, torna esse lock seguro para fins de correção; um lock usado apenas para evitar trabalho duplicado exige menos.
-
Relógios lógicos: timestamps de Lamport, vector clocks e relógios híbridos
Os relógios de parede de máquinas diferentes divergem, por isso ordenar eventos por timestamp faz perder atualizações. Os timestamps de Lamport dão uma ordem consistente com a causalidade, os vector clocks detectam também atualizações concorrentes, e os relógios lógicos híbridos mantêm um valor próximo da hora real sem perder a ordem causal.
Legível por máquina: JSON