
저는 연결 끊김이 자주 발생하고 예상되는 원격 환경에 많은 클라이언트 장치가 분산되어 있는 프로젝트를 진행하고 있습니다. 클라이언트는 오프라인 상태에서도 계속 작동하지만 이러한 장치에 연결할 수 있으면 클라우드의 서버 집합에서 명령을 받고 상태를 동일한 서버에 전달합니다.
클라이언트 장치와 서버는 모두 "계정 잔액"에 대한 정보를 유지하며 해당 정보는 양쪽에서 변경 가능합니다. 즉, 계정 잔액은 클라우드 인터페이스 또는 로컬 클라이언트 인터페이스 사용자에 의해 변경될 수 있으며, 이러한 변경은 클라이언트가 오프라인인 경우에도 이루어질 수 있습니다.
어떤 의미에서는 이것이 "다중 마스터" 데이터베이스 설정이라고 이해합니다. 이런 종류의 토폴로지를 관리하는 데 도움이 되는 프로젝트가 있는지 궁금합니다. 비슷한 프로젝트의 예가 있나요? 아니면 고려해 볼 만한 다른 아키텍처가 있습니까?
답변1
텅스텐은 본질적으로 당신이 추구하는 비동기 다중 마스터 아키텍처에서 설정할 수 있으며 다양한 DB와 함께 사용할 수 있습니다.https://code.google.com/p/tungsten-replicator/
애플리케이션은 텅스텐을 활용하는 로컬 MySQL 백엔드를 사용하도록 설정될 수 있으며 온라인일 때마다 다른 서버와 동기화됩니다. 오프라인일 때 업데이트는 다시 온라인이 될 때까지 대기합니다. 클라이언트는 VPN 또는 이와 유사한(예: HTTPS/SSH 터널)을 통해 연결되기를 원할 것입니다.