Paxos es una implementación de registro distribuido de escritura única que se vuelve interesante cuando usa una instancia para cada entrada consecutiva en una o más máquinas de estado distribuidas.
Se requiere un mensaje de ida y vuelta con una escritura correspondiente persistente (para el tiempo de vida de los datos) en cada aceptador durante la operación de estado estable con el mismo nodo actuando como proponente en instancias sucesivas cuando se utiliza la optimización trivial de Multi-Paxos. Se requieren al menos dos cuando hay conflictos y no se garantiza el progreso; por lo que la mayoría de los sistemas que usan Paxos le dan a un nodo un contrato de arrendamiento para actuar como proponente para obtener el mejor rendimiento y evitar el bloqueo en vivo.
Si bien podría usar eso para implementar relojes Lamport o tiempos lógicos (cada solicitud de número de secuencia es un comando de incremento para un contador distribuido), el nodo será un cuello de botella y no debe hacer eso donde no necesita que suceda. antes de la relación Por ejemplo, los identificadores únicos a nivel mundial podrían ser suficientes, en cuyo caso podría usar una dirección MAC (garantizada como única) y una marca de tiempo monotónica que se genera localmente (agregue un número de época incrementado en cada reinicio para que el tiempo del sistema no retroceda) tú).
- Cómo identificar la recursividad en un problema de programación
- ¿Los algoritmos de aprendizaje y las estructuras de datos son muy importantes para la informática y la programación?
- ¿Qué idioma es mejor para los algoritmos de búsqueda: Java o Python? ¿Por qué?
- Cómo encontrar el salto más pequeño
- ¿Cuál es el número total de rompecabezas de sudoku posibles?
Si necesita la relación antes de pasar para un mejor rendimiento, puede hacer que los bits de orden superior sean un número de época, los bits de orden bajo un tiempo monotónicamente creciente que no persiste a través de las épocas, y almacenar la época más otra información como la asignación del número de secuencia actual coordinador en una tienda de objetos distribuidos construida con Paxos.
También tenga en cuenta que Paxos es una abstracción de muy bajo nivel. Como un solo transistor, puede ser el mejor bloque de construcción para algunos sistemas (puede ejecutar múltiples instancias en paralelo, lo cual es útil en un almacén de valores clave para operaciones en diferentes claves) aunque para muchos está mejor con un componente más funcional como un circuito integrado
El algoritmo Raft de John Osterhout para la replicación del registro (de entradas a una máquina de estado distribuida) documentado en En busca de un algoritmo de consenso comprensible puede ser más fácil de aplicar a su problema. Es una abstracción de nivel superior y el documento está escrito para una audiencia de ingenieros que implementan cosas, mientras que los documentos de Paxos de Lamport tratan más sobre informática teórica y dejan mucho más para que el practicante descubra.