Paxos 알고리즘은 2F + 1 프로세서를 사용할 때 F 실패까지 허용 할 수 있습니다. 내가 아는 한,이 알고리즘은 고정 된 수의 프로세서에서만 작동합니다. 노드가 동적으로 추가되고 제거 될 수있는 동적 환경에서이 알고리즘을 사용할 수 있습니까?동적 환경에서 Paxos 사용
답변
예. Gryadka은 500 줄의 동적 재구성을 지원하는 JavaScript Paxos 구현입니다. Vertical Paxos 및 Raft의 아이디어를 기반으로합니다.
노드의 절대 개수가있는 경우에도 계속 작동해야합니다. 그러나 동적 노드 수를 6으로 설정하면 최대 값은 11이므로 1 개의 노드에 오류가 발생하면 기본적으로 존재하지 않는 노드는 작동하지 않습니다. 노드를 제거하고 추가하는 경우 추가 한 노드로 제거한 노드의 상태를 복원하여 실패로 간주되지 않도록 할 수 있습니다.
예, 일부 서류가있을 수도 있습니다. 내가 기억하는 것에서 나는 그것을하는 방법에 대해 조금 읽었다. 여기에 설명되어있다. http://research.microsoft.com/pubs/64634/web-dsn-submission.pdf 그게 네가 요구하고 있었던 것이기를 바란다. "동적 인 paxos"를 찾으십시오.
동적 인 paxos는 다소 희소합니다 :) – Lazin
@Lazin 실제로는 아닙니다! 나는 동적 인 Paxos를 사용하며 매우 안정적입니다. 두 개의 상태 머신이 있다는 아이디어입니다. 첫번째는 당신이 일반적으로 생각하는 것입니다 : Paxos 주 (州)는 동기화 상태를 유지해야합니다. 다른 상태 시스템은 노드의 구성원 목록입니다. Paxos의 모든 인스턴스는 구성원 상태 시스템의 스냅 샷을 사용해야합니다. –
@MichaelDeardeuff 멀티 팩소스를 소개하면 다이내믹 한 Paxos가 약간 무서워집니다. 단일 인스턴스 Paxos와 함께 사용하면 상당히 간단합니다. –
Stoppable Paxos 용지는 조금 이해하기 쉽게하고 안전한 재구성 (추가 및 노드의 뺄셈을) 허용 : http://research.microsoft.com/apps/pubs/default.aspx?id=101826
- 1. 프로덕션 환경에서 DropCreateDatabaseIfModelChanges 사용
- 2. 다른 환경에서 웹 서비스 사용
- 3. 다중 스레드 환경에서 CList 사용
- 4. 웹 환경에서 직렬 포트 사용
- 5. LaTeX 테이블 환경에서 \ Sexpr {} 사용
- 6. 엔터프라이즈 환경에서 OpenID를 사용 하시겠습니까?
- 7. Windows 환경에서 Etsy의 StatsD 사용
- 8. 공유 다중 플랫폼 POSIX 환경에서 C 사용
- 9. 배경 또는 ASP.Net 환경에서 WPF 컨트롤 사용
- 10. J2SE 환경에서 Hibernate JPA에서 OracleDataSource 사용
- 11. Heroku 배포 환경에서 로컬 구성 사용
- 12. 다중 사용자 환경에서 임시 테이블 사용
- 13. 다른 환경에서 컴파일 된 노드 종속성 사용
- 14. 다중 사용자 환경에서 Drupal 모듈 사용
- 15. 서블릿 환경에서 최대 절전 모드 사용
- 16. 포틀릿 환경에서 jsp : param/c : param 사용
- 17. 다중 스레드 환경에서 toplink의 update 문 사용
- 18. 프로덕션 환경에서 레일스 모델에서 동적 코드를 실행하는 방법
- 19. VPS 환경에서 장고 동적 콘텐츠 - 언제 큐가 필요합니까?
- 20. MDX AVG 기능 동적 사용
- 21. CodeIgniter에서 동적 스타일 시트 사용
- 22. C#을 동적 타입 사용
- 23. 유닉스 환경에서 C++ 또는 Windows 환경에서 C++?
- 24. 적대적인 환경에서 개발
- 25. 프로덕션 환경에서 GCC의 C++ 0x 모드를 사용 하시겠습니까?
- 26. C# 멀티 스레드 환경에서 레거시 COM 구성 요소 사용
- 27. 웹 환경에서 서버 - 클라이언트 프로토콜을위한 사용 가능한 디자인 솔루션
- 28. 글래스 피쉬 v3 및 프라임 환경에서 대기 사용 문제
- 29. 프로덕션 환경에서/app 폴더를 열심히로드하는 중 - 사용 중지 방법은 무엇입니까?
- 30. SonicMQ 환경에서 사용 가능한 대상/주제를 나열하는 방법
클러스터 멤버십을 위해 Paxos를 확장해야한다는 믿음은 매우 불안정합니다. 아래의 @ Mateusz의 대답에서 논의 된 Dynamic Paxos의 Microsoft 종이 버전으로 충분합니다. Paxos의 모든 실제 구현 업데이트 된 상태를 일관된 방식으로 알고 있습니다. 공유 상태는 앱 상태와 클러스터 멤버쉽이 될 수 있습니다. 따라서 새로운 접근법을 읽고 이해하고 구현하기보다는 모든 실질적인 함의는 클러스터 멤버쉽 변경을 처리하기 위해 "메인 스트림 Paxos"와 "자신의 개밥 먹기"를 사용할 수 있습니다. Paxos는이를 위해 설계되었습니다. – simbo1905