L'algoritmo di Paxos può tollerare fino a errori F quando si utilizzano processori 2F + 1. Per quanto ho capito, questo algoritmo funziona solo con un numero fisso di processori. È possibile utilizzare questo algoritmo in un ambiente dinamico, in cui i nodi possono essere aggiunti e rimossi dinamicamente?Utilizzo di Paxos in ambiente dinamico
risposta
Sì. Gryadka è un'implementazione Paxos JavaScript che supporta la riconfigurazione dinamica in 500 linee. Si basa su idee di Vertical Paxos e Raft.
Se si dispone di un numero massimo assoluto di nodi, dovrebbe comunque funzionare. Ma ti rimane una situazione in cui il tuo numero di nodi dinamici è 6 il tuo massimo è 11, quindi se 1 nodo fallisce non sei fortunato (i nodi inesistenti falliscono di default). Se si rimuovono e aggiungono nodi, è possibile ripristinare lo stato di un nodo rimosso a un nodo aggiunto per evitare che venga conteggiato come errore.
Sì, è possibile, ci sono anche alcuni documenti su di esso. Da quello che ricordo ho letto un po 'su come farlo è stato descritto qui http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf Spero che sia quello che stavi chiedendo. Cerca "paxos dinamici".
Il paxos dinamico è un po 'scarry :) – Lazin
@Lazin in realtà no! Io uso Paxos dinamico ed è stato estremamente stabile. L'idea è che tu abbia due macchine a stati. Il primo è ciò che si pensa tipicamente: lo stato Paxos è quello di mantenere la sincronizzazione. L'altra macchina a stati è la lista dei membri dei nodi. Qualsiasi istanza di Paxos deve utilizzare un'istantanea della macchina dello stato dell'appartenenza. –
@MichaelDeardeuff Dynamic Paxos diventa un po 'spaventoso quando si introduce Multi-paxos. È piuttosto banale quando lo usi con Paxos a istanza singola. –
Lo Stoppable Paxos carta è un po 'più facile da capire e permette la riconfigurazione di sicurezza (addizione e sottrazione di nodi): http://research.microsoft.com/apps/pubs/default.aspx?id=101826
- 1. Esempio di mondo reale di Paxos
- 2. Utilizzo di variabili di ambiente in Monodevelop con MonoTouch
- 3. Utilizzo di node.js in un ambiente di produzione
- 4. Utilizzo di variabili di ambiente del contenitore collegato nell'ambiente dell'applicazione?
- 5. Utilizzo delle variabili di ambiente host con Dockerfile
- 6. Ambiente di sviluppo anonimo
- 7. Qual è il comportamento corretto per un agente di Paxos in questo scenario?
- 8. Utilizzo del server Web incorporato di Django in un ambiente di produzione
- 9. Utilizzo di loop e casi di switch in React per il rendering dinamico di diversi componenti
- 10. Inserimento dinamico e dinamico di file JSP
- 11. Utilizzo di UITableViewCell personalizzato dinamico in XCode 4.2, con Storyboard e UISeachDisplayController
- 12. Qual è la differenza tra Paxos e W + R> = N in Cassandra?
- 13. Variabili di ambiente monodiro
- 14. Variabili di ambiente Javascript
- 15. componente dinamico in Angular2
- 16. Render dinamico in Yii
- 17. Ambito dinamico in Clojure?
- 18. codice dinamico in C
- 19. Ordine dinamico in AngularJS
- 20. start_urls dinamico in scrapy
- 21. Caricamento dinamico in Golang?
- 22. Chiavi SSH in variabili di ambiente
- 23. seguito puntatori in un ambiente di multithreading
- 24. STL in ambiente di tipo embedded
- 25. Impostazione delle variabili di ambiente in .screenrc
- 26. Impostazione delle variabili di ambiente in Mathematica
- 27. anaconda - variabile di ambiente path in windows
- 28. Scratch di memoria in ambiente gestito
- 29. variabili di ambiente in Visual Studio 2013
- 30. Imposta variabile di ambiente ANDROID_HOME in mac
La convinzione che sia necessario estendere Paxos per l'appartenenza ai cluster è su una base molto instabile. La versione cartacea Microsoft di Dynamic Paxos come discusso nella risposta di @ Mateusz di seguito è sufficiente. Tutte le implementazioni pratiche di Paxos Sono a conoscenza dell'aggiornamento dello stato distribuito in modo coerente. Quello stato condiviso può essere banalmente sia lo stato dell'app che l'appartenenza al cluster. Quindi, piuttosto che dover leggere, comprendere e implementare un nuovo approccio, tutte le implicazioni pratiche possono utilizzare "flusso principale Paxos" e "mangiare il proprio cibo per cani" per gestire le modifiche all'appartenenza al cluster. Paxos è stato progettato per questo. – simbo1905