2014-02-27 3 views
0

우리의 응용 프로그램에는 여러 클라이언트 응용 프로그램이 있습니다.여러 서버 (컴퓨터)에서 동기화 xml 파일

하나의 클라이언트 응용 프로그램이 별도의 서버 (컴퓨터)에 설치됩니다.

조정이라는 이름의 모듈이 있으며이 모듈의 기본 설정 (설정)은 각 서버의 xml 파일에 저장됩니다.

내 요구 사항은보기 목적으로 한 서버의 기본 설정을 다른 서버에 공유하고자하는 것입니다. 즉, 서버 A의 사용자 u1은 서버 B의 환경 설정을 볼 수 있지만 이러한 환경 설정은 편집 할 수 없습니다.

중요한 점은 서버와 실시간으로 동기화되어야한다는 것입니다. 즉, 서버 A의 사용자 u1이 환경 설정을보고 있고 그 시간에 서버 B의 사용자가 환경 설정을 변경하면 환경 설정이 모든 사용자에 대해 서버 A에서 업데이트되어야합니다.

답변

1

각 응용 프로그램이 듣고있는 일종의 pub/sub 시스템을 사용할 수 있습니다. 환경 설정이 저장되면 환경 설정이 변경된 메시지가 게시됩니다. 각 응용 프로그램은 시스템에 등록되어 있으며 변경된 내용의 메시지가 수신됩니다. 환경 설정을 중앙에서 어딘가에 저장하는 메시지와 함께 게시하고 각 응용 프로그램을 이동하여 가져올 수 있습니다.

다른 옵션은 환경 설정을 공유 폴더 (어쩌면 하나의 파일 사용자 환경 설정)에 저장하고 응용 프로그램에서 변경을위한 폴더. 사용자 파일이 변경되면 파일을 다시로드 할 수 있습니다.

데이터베이스에 환경 설정을 저장하도록 선택한 경우 변경 사항이 있는지 확인하기 위해 수시로 데이터베이스를 폴링해야합니다. pub/sub 시스템을 사용하는 경우 폴링을 피할 수는 있지만, 그렇지 않은 경우 데이터베이스를 폴링하는 빈도와 인스턴스의 수를 고려하여 데이터베이스를 폴링하는 방법에 대해 생각할 필요가 있습니다. 응용 프로그램이 실행 중이고 데이터베이스를 확인하는 빈도.

+0

게시자가 다른 컴퓨터에 게시하는 것이 어려운 작업 일 수 있으므로 어려운 문제입니다. 두 번째 방법은 공유 폴더를 사용하여 환경 설정을 공유하는 것을 의미합니다. 이 기본 설정을 데이터베이스에 저장할지 여부를 안내해 주시겠습니까? 데이터베이스를 사용하여 환경 설정을 동기화 할 수 있다고 생각합니다. –

+0

@ NarendraJangir - 답변에 대한 추가 정보를 – Sean

+0

에 추가했습니다. 파일에 잠금 메커니즘을 적용 할 수 있으므로 공유 폴더의 파일이 정상적으로 작동합니다. –