1

サーバークライアントアプリで不安定なインターネット接続を管理するために使用できるテクノロジーは何ですか。私は主にPHP(+ Zend Framework)を知っており、C#とASP.NETMVCを学んでいます。WCF / MSMQは役立つと聞きましたが、どのように... PHP(私がよく知っている)でできることはありますか?しかし、.NETの代替案が優れているかどうかを知ることも良いことです

背景:

client ***s***はサーバーdbに接続してCRUDを実行します。しかし、インターネット接続が失敗した場合、これは不可能になります。どうすればこれを修正できますか?

現在使用されているソリューションは、ローカルホストデータベースを使用することでした。1日の終わりに、すべてのクライアントがサーバーにアップロードし、朝にサーバーから「統合」データベースをダウンロードします。アップロード/ダウンロードがまだ失敗する可能性があるため、これは絶対確実ではありません。転送される大量のデータを考慮すると、実際には可能性が高くなります。

更新:MSMQ/WCFの代わりにPHP/Zend Framework / MySQLがありますか?

4

1 に答える 1

1

WCFは、信頼性の高いメッセージ転送のためのさまざまなテクノロジをサポートしているため、役立ちます。

クライアントにデータの変更をローカルで行わせてから、それらの変更を信頼できるメッセージキューにアップロードすることが役立つ場合があります。1回のトランザクションですべての変更をアップロードするわけではありません。一度に10個、場合によっては一度に1個ずつアップロードできます。アップロードされたメッセージがサーバーで処理されると、サーバーはトランザクション結果を各クライアントに固有の別のキューに書き込みます。アップロード後(または同時に)、クライアントはそのキューをチェックして、各アップロードの結果を確認します。結果が成功した場合、クライアントはローカルデータベースを削除できます。結果が失敗した場合、クライアントはそれを再度アップロードしてみる必要があります。

もちろん、エラー回復の試みが事態を悪化させないように常に注意する必要があります。不良リンクでの再試行トラフィックが多すぎると、トラフィックが増える可能性があり、それ自体が回復などを必要とする場合があります。

そしてもちろん、究極の解決策は、より信頼性の高いリンクに移行することです。必ずしも高速ではありませんが、信頼性が高くなります。

于 2009-06-16T04:18:13.087 に答える