Paxos es un algoritmo de consenso distribuido diseñado para permitir que un conjunto de procesos (nodos) en un sistema asíncrono y propenso a fallos (crash-recovery model) acuerde un único valor entre múltiples propuestas. Su objetivo principal es garantizar la seguridad (safety) —que todos los nodos acuerden el mismo valor y que este valor haya sido propuesto por alguno de ellos— y la vivacidad (liveness) —que eventualmente se acuerde un valor—, aunque esta última no está garantizada en presencia de fallos continuos o particiones de red. El algoritmo opera en fases (Prepare, Accept) con roles definidos (Proposer, Acceptor, Learner) para lograr un acuerdo mayoritario, incluso si algunos nodos fallan o los mensajes se retrasan o pierden.

Paxos, aunque complejo de implementar directamente, es la base teórica para muchos sistemas distribuidos de alta disponibilidad y consistencia. Un ejemplo notable es Google Chubby, un servicio de bloqueo distribuido que utiliza una variante de Paxos para mantener la consistencia de sus metadatos. Otros sistemas que se inspiran o utilizan principios de Paxos incluyen Apache ZooKeeper (aunque más comúnmente se asocia con ZAB, un algoritmo similar a Paxos), y etcd, que implementa Raft, un algoritmo diseñado para ser más comprensible y fácil de implementar que Paxos, pero que resuelve el mismo problema de consenso. La mayoría de las bases de datos distribuidas y sistemas de coordinación que requieren fuerte consistencia utilizan algoritmos derivados de Paxos o Raft.

Para un arquitecto, Paxos es fundamental porque ofrece una solución probada y formalmente verificada al problema del consenso en sistemas distribuidos. Entender Paxos (o Raft como su alternativa más accesible) es crucial para diseñar sistemas que requieran alta disponibilidad y consistencia fuerte, como servicios de coordinación, bases de datos distribuidas o sistemas de replicación de logs. La elección de implementar o integrar un sistema basado en Paxos implica un trade-off entre la complejidad de implementación (notoriamente alta para Paxos puro) y la robustez garantizada de la consistencia. Permite construir arquitecturas que pueden sobrevivir a fallos de nodos y particiones de red, evitando inconsistencias que podrían ser catastróficas. Sin embargo, su rendimiento puede verse afectado por la latencia de red y el número de nodos participantes, lo que requiere una cuidadosa consideración en el diseño de la infraestructura.