Algorytm Paxos może tolerować błędy do F podczas używania procesorów 2F + 1. O ile rozumiem, ten algorytm działa tylko ze stałą liczbą procesorów. Czy możliwe jest użycie tego algorytmu w dynamicznym środowisku, w którym węzły mogą być dodawane i usuwane dynamicznie?Używanie Paxos w środowisku dynamicznym
Odpowiedz
Tak. Gryadka to implementacja JavaScript Paxos wspierająca rekonfigurację dynamiczną w 500 liniach. Opiera się na pomysłach z Vertical Paxos i Tratwa.
Jeśli masz absolutną maksymalną liczbę węzłów, to nadal powinna działać. Ale będziesz miał sytuację, w której liczba węzłów dynamicznych wynosi 6, a maksymalna to 11, więc jeśli 1 węzeł się nie powiedzie, masz pecha (domyślnie nieistniejące węzły nie działają). Jeśli usuniesz i dodasz węzły, możesz przywrócić stan węzła, który usunąłeś do węzła, który dodasz, aby uniknąć tego, że jest on traktowany jako błąd.
Tak, jest to możliwe, są nawet niektóre dokumenty na ten temat. Z tego co pamiętam przeczytałem trochę o tym, jak to zrobić opisano tutaj. http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf Mam nadzieję, że o to prosiłeś. Szukaj "dynamicznych paxos".
Dynamiczne paxos to trochę scarry :) – Lazin
@Lazin właściwie nie! Używam dynamicznego Paxos i jest bardzo stabilny. Chodzi o to, że masz dwie maszyny stanu. Pierwszą z nich jest to, o czym zazwyczaj myślisz: stan Paxos ma być zsynchronizowany. Drugi automat stanów to lista członków węzłów. Każde wystąpienie Paxos musi korzystać z migawki komputera stanu członkostwa. –
@MichaelDeardeuff Dynamic Paxos staje się nieco przerażający, gdy wprowadzasz Multi-paxos. To dość banalne, gdy używasz go z pojedynczą instancją Paxos. –
Stoppable Paxos papier jest nieco łatwiejsze do zrozumienia i pozwala na bezpieczne rekonfiguracji (dodawanie i odejmowanie węzłów): http://research.microsoft.com/apps/pubs/default.aspx?id=101826
- 1. Przykład rzeczywistego świata Paxos
- 2. Używanie Log4Net w środowisku wielowątkowym
- 3. Używanie ngFor z dynamicznym błędem danych ngModel
- 4. Używanie zewnętrznych słoików w środowisku Play
- 5. Używanie Razor i Angular.js w środowisku MVC4
- 6. Interfejs w dynamicznym języku?
- 7. Jak wyświetlać ASPX w innym dynamicznym DIV ASPX w środowisku wykonawczym?
- 8. sbt ustaw java opcje w zadaniu dynamicznym
- 9. Używanie google javascript api w środowisku piaskownicy iframe
- 10. Używanie pracownika tła w środowisku ASP.NET z AJAX
- 11. Używanie współdzielonej kompilacji z Roslyn w samodzielnym środowisku kompilacji?
- 12. funkcja połączeń w dynamicznym LINQ
- 13. Jaka jest różnica między dynamicznym linkerem i dynamicznym programem ładującym?
- 14. Problem z programowaniem dynamicznym
- 15. Problemy z programowaniem dynamicznym
- 16. Zmienna w ciągu dynamicznym w C#
- 17. Błąd w dynamicznym dostępie zmiennym w ColdFusion
- 18. Używanie GSON do parsowania JSON-a z dynamicznym "kluczem" i "wartością" w Androidzie
- 19. Zmiana archetypu Mavena po utworzeniu projektu w środowisku Zaćmienie?
- 20. jak połączyć unikalnyidentyfikator w dynamicznym zapytaniu
- 21. Znajdź ogólny DbSet w dynamicznym kontakcie DbContext
- 22. Walidacja modelu MVC w dynamicznym formularzu?
- 23. Jak używać HAML w łączu dynamicznym?
- 24. Wyjątek odwołania zerowego w dynamicznym wyrażeniu LINQ
- 25. "System.Windows.Data Error: 4" w dynamicznym MenuItem
- 26. wyjmowanie pól z dynamicznym ModelForm
- 27. akcji Facebook z dynamicznym tekstem
- 28. Zmienne o dynamicznym kształcie TensorFlow
- 29. Znajdowanie elementów z dynamicznym Id
- 30. Widok kręgosłupa z dynamicznym id
Przekonanie, że musimy rozszerzyć Paxos o członkostwo w klastrze, jest bardzo chwiejne. Wersja papierowa wersji Dynamic Paxos firmy Microsoft omówiona w poniższej odpowiedzi @ Mateusza jest wystarczająca. Wszystkie praktyczne implementacje Paxos Znam stan aktualizacji w spójny sposób. Ten stan współdzielony może być trywialnie zarówno stanem aplikacji, jak i członkostwa w klastrze. Więc zamiast potrzebować czytać, rozumieć i wdrażać nowe podejście, wszystkie praktyczne implikacje mogą wykorzystywać "główny strumień Paxos" i "jeść własne karmy dla psów" w celu obsługi zmian członkostwa w klastrze. Zaprojektowano do tego Paxos. – simbo1905