Erlang으로 작성된 웹 서버가 여러 개 있고 (부하 분산 됨) Mnesia가 백엔드 데이터베이스로 사용되는 경우 전체 시스템을 최신 버전으로 업그레이드하는 가장 좋은 방법은 무엇입니까?Erlang에서 분산 시스템을 업그레이드하는 가장 좋은 방법은 무엇입니까?
6
A
답변
4
Erlang은 핫 코드로드를 지원하지만, 반드시 사용해야하는 것은 아닙니다. 귀하의 경우로드 밸런서에서 노드 하나를 한 번씩 제거하고 새 코드를 실행하여 노드를 다시로드 밸런서에 넣는 것이 더 쉬운 것처럼 보입니다.
라이브 시스템에서 새로운 Erlang/OTP 릴리스로 핫 업그레이드하려는 경우 노드 준비 작업도 준비해야합니다.
그러나 너를 위해 거품을 일으킬 수있는 진짜 문제는 건망증에서 비롯된 것입니다. 나는 당신이 횡격막 질환을 원한다는 점에서 구체적으로 새로운 질문을해야한다고 생각합니다. 스키마/테이블 변경이 없으면 하나의 노드를 제거한 다음 나중에 추가하기 만하면됩니다. 또는 실제로 테이블에 새 테이블 또는 새 열을 도입하는 경우 Mnesia는 테이블 복제본을 사용하여 노드를 추가 및 제거하는 기능을 제공하며 mnesia:transform_table/3,4
을 통해 여러 테이블 정의를 고유하게 지원합니다.
1
단지 코드 업그레이드를 수행 중이라면 erlang release handling with fab에 대한 기사를 작성했습니다. 이 설정을 사용하면 노드를 다시 시작하지 않고도 실시간 코드로드를 수행 할 수 있습니다. 그러나 데이터베이스를 변환하는 작업은 릴리스 업그레이드와 별도로 트리거 된 단일 노드에서 수행해야합니다.
관련 문제
- 1. 여러 시스템을 통합하는 가장 좋은 방법은 무엇입니까?
- 2. 로그인 시스템을 만드는 가장 좋은 방법은 무엇입니까?
- 3. 분산 맵 축소 프로그래밍 시스템을 사용하는 가장 쉬운 방법은 무엇입니까?
- 4. 분산 시스템을 설계하고 검증하는 방법은 무엇입니까?
- 5. Erlang에서 사용 가능한 분산 프로세스 레지스트리는 무엇입니까?
- 6. Drupal 6 : jQuery를 업그레이드하는 가장 좋은 방법은 무엇입니까?
- 7. Plone의 새로운 주요 버전으로 업그레이드하는 가장 좋은 방법은 무엇입니까?
- 8. jquery 1.3에서 1.4로 업그레이드하는 가장 좋은 방법은 무엇입니까?
- 9. Ruby와 mongodb를 사용하여 경량 분산 시스템을 개발하는 가장 좋은 방법은 무엇입니까?
- 10. Erlang에서 좋은 OpenID 구현은 무엇입니까?
- 11. 분산 된 프로세스가 비동기 적으로 통신하는 가장 좋은 방법은 무엇입니까?
- 12. 분산 시스템을 그리드로 개발
- 13. UI 상태 시스템을 구현하는 가장 좋은 방법은 무엇입니까?
- 14. 브라우저에서 메뉴 시스템을 로컬로 캐시하는 가장 좋은 방법은 무엇입니까?
- 15. wordpress를 사용하지 않고 뉴스 시스템을 구현하는 가장 좋은 방법은 무엇입니까?
- 16. MySQL : 액세스 시스템을 만드는 가장 좋은 방법은 무엇입니까?
- 17. MySQL을 사용하여 간단한 수정 시스템을 만드는 가장 좋은 방법은 무엇입니까?
- 18. 레일에서 "커플"시스템을 수행하는 가장 좋은 방법은 무엇입니까?
- 19. Windows 인증/폼 인증? 시스템을 설계하는 가장 좋은 방법은 무엇입니까?
- 20. xpath와 같은 구성 시스템을 구현하는 가장 좋은 방법은 무엇입니까?
- 21. 확장 가능한 히트/분석 시스템을 설계하는 가장 좋은 방법은 무엇입니까?
- 22. MBean의 가장 좋은 방법은 무엇입니까?
- 23. Erlang에서 해시에 가장 가까운 것은 무엇입니까?
- 24. .NET 3.5로 업그레이드하는 방법은 무엇입니까?
- 25. Apache CXF D-OSGi를 사용하여 분산 시스템을 개발하는 방법은 무엇입니까?
- 26. Erlang에서 오류를 디버깅하는 방법은 무엇입니까?
- 27. TFS 2005를 TFS 2008로 업그레이드하는 방법은 무엇입니까?
- 28. 레일 3 게시물에 대한 코멘트 시스템을 만드는 가장 좋은 방법은
- 29. 서버에서 파일을 숨기는 가장 좋은 방법은 무엇입니까?
- 30. 파일 시스템을 평가하는 방법은 무엇입니까?
예, 테이블에 새 테이블이나 새 열을 추가하면 전체 시스템을 다운시켜야 할까 봐 걱정됩니다. 귀하의 답변을 주셔서 감사합니다, 나는 거기에 transform_table 기능을 몰랐다. –