문제

서버 클라이언트 앱에서 불안정한 인터넷 연결을 관리하는 데 사용할 수있는 기술은 무엇입니까? 나는 주로 PHP (+Zend 프레임 워크), C# & asp.net MVC 학습을 알고 있습니다. WCF/MSMQ가 도움이 될 수있는 것이 있다고 들었습니다 ... 그러나 어떻게 ... PHP (더 친숙한)가 할 수있는 일이 있습니까? 그러나 더 나은 경우 .NET 대안을 아는 것도 좋습니다.

배경:

클라이언트 *** s ***는 서버 db에 연결하여 cruds를 수행합니다. 그러나 인터넷 연결이 실패하면 이것은 불가능합니다. 그렇다면 이것을 어떻게 해결합니까?

현재 사용 된 솔루션은 LocalHost DB를 갖습니다. 하루가 끝나면 모든 클라이언트는 서버에 업로드하고 아침 다운로드 서버에서 "통합"DB를 다운로드합니다. 업로드/다운로드가 여전히 실패 할 수 있으므로 이것은 완벽하지 않습니다. 그리고 많은 양의 데이터 전송을 고려하면 실제로 기회가 증가합니다.

업데이트: MSMQ/WCF에 대한 PHP/Zend 프레임 워크/MySQL 교체가 있습니까?

도움이 되었습니까?

해결책

WCF는 안정적인 메시지 전송을위한 다양한 기술을 지원하기 때문에 도움이 될 수 있습니다.

도움이 될 수있는 한 가지는 클라이언트가 데이터를 로컬로 변경 한 다음 해당 변경 사항을 신뢰할 수있는 메시지 큐에 업로드하는 것입니다. 단일 트랜잭션의 모든 변경 사항을 업로드하지는 않습니다. 한 번에 하나씩, 아마도 한 번에 하나씩 업로드 할 수 있습니다. 업로드 된 메시지가 서버에서 처리되면 서버는 트랜잭션 결과를 각 클라이언트와 고유 한 다른 큐에 기록합니다. 업로드 후 (또는 동시에) 클라이언트는 해당 대기열을 확인하여 각 업로드 결과가 무엇인지 확인합니다. 결과가 성공하면 클라이언트는 로컬 데이터베이스를 제거 할 수 있습니다. 결과가 실패한 경우 클라이언트는 다시 업로드해야합니다.

물론, 당신은 항상 오류 복구에 대한 시도가 상황을 악화시키지 않도록주의해야합니다. 잘못된 링크에서 너무 많은 재 시도 트래픽이 발생할 수 있습니다. 회복이 필요할 수있는 트래픽 등

물론 궁극적 인 솔루션은보다 신뢰할 수있는 링크로 이동하는 것입니다. 반드시 더 빠르지는 않지만 더 신뢰할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top